Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 1 вариант 4 (ЦОС) отчёт - Синтез и фильтрация ШПС-сигналов типа М-последовательностей, кодов Уолша-Адамара.docx
Скачиваний:
62
Добавлен:
13.02.2021
Размер:
680.34 Кб
Скачать
  1. Вычислить быстрое преобразование Уолша-Адамара для суммы кодов Wсум. Доказать, что полученный результат соответствует исходным закодированным числам.

function f = Lab1_2()

close all;

clear all;

data1 = 4 % число, для которого генерируется код Уолша-Адамара

data2 = 354

R = 10 % разрядность для числа data

W1 = WFun(data1,R); % синтез кода W1

W2 = WFun(data2,R); % синтез кода W2

sum(W1 .* W1)

sum(W1 .* W2)

WS = W1 + W2; % формирование суммы кодов Wсум

Bpfun_2 (WS) % быстрое преобразование Уолша-Адамара для Wсум

Дополнительное доказательство см. в файлах «Доказательство 1» и «Доказательство 2».

  1. Исследовать коды Уолша-Адамара на шумоподавление (пункты 6-8). Сформировать в MATLAB шум с помощью функции rand. В качестве амплитуды шума взять остаток от деления на 4 своего номера по списку в группе. Длина сформированного шума должна соответствовать длине кода Уолша-Адамара.

NoiseAmp = 1; % вариант 4 разделить на 4, остаток от деления = амплитуда шума (оставили 1)

Noise = NoiseAmp - 2 * NoiseAmp * rand(1,length(W1)); % формирование шума

  1. Сформировать Wшум = Wсум + Шум.

WN = WS + Noise; % Wсум + шум

  1. Вычислить быстрое преобразование Уолша-Адамара для суммы кодов Wшум. Изобразить на графике полученный результат. Доказать, что полученный результат соответствует исходным закодированным числам.

function f = Lab1_2()

close all;

clear all;

data1 = 4 % число, для которого генерируется код Уолша-Адамара

data2 = 354

R = 10 % разрядность для числа data

W1 = WFun(data1,R); % синтез кода W1

W2 = WFun(data2,R); % синтез кода W2

sum(W1 .* W1)

sum(W1 .* W2)

WS = W1 + W2; % формирование суммы кодов Wсум

NoiseAmp = 1; % вариант 4 разделить на 4, остаток от деления = амплитуда шума (оставили 1)

Noise = NoiseAmp - 2 * NoiseAmp * rand(1,length(W1)); % формирование шума

WN = WS + Noise; % Wсум + шум

Bpfun_2 (WN) % быстрое преобразование Уолша-Адамара для WN

plot (Bpfun_2 (WN)); grid on; title ('Bpfun_2 (WN)');% график для функции для результата БП Уолша-Адамара для Wсум

end

Дополнительное доказательство см. файлы «Доказательство 3» и «Доказательство 4».