lennen 0 28 декабря, 2015 Опубликовано 28 декабря, 2015 · Жалоба Подскажите, пожалуйста, что у меня вообще происходит? Вроде я не глупый в этом плане. У меня есть символ OFDM 900 выборок. Он интерполированный с частоты 20480 Гц на частоту 18000 Гц, но это, я думаю, не суть важно. Мне нужно выделить одну его гармонику полосовым фильтром. Разнос между гармониками 20 Гц. Я сделал n = 200 порядок фильтра, ведь если меньше - его полоса будет очень большая. Тогда мне нужно 200 выборок пропустить - я смиряюсь с этим, и просто дублирую OFDM-символ, чтобы в конце фильтрации взять из середины целый OFDM-символ для дальнейшего анализа. Возможно, все получилось, как и следовало, но я не удовлетворен, потому что а рисунке вы видите ну никак не гармонический сигнал, а мне бы гармонику получить... Ну ок, может это несколько гармоник. Как мне сделать такую фильтрацию, чтобы у меня реально только одна гармоника была? Как это проще сделать? clc; clear all; close all; f=fopen('OFDM.CMV','rt'); OFDM = []; for i = 1:954 str1 = (fgetl(f)); OFDM = [OFDM str2num(str1)]; end; fclose(f); OFDM_noisy = awgn(OFDM,20); plot(OFDM); hold on; plot(OFDM_noisy); hold off; Fd=18e3;% частота дискретизации W1=2.6e3/(0.5*Fd);%нижняя частота полосового фильтра 3КГц W2=2.600001e3/(0.5*Fd);%верхняя частота полосового фильтра 5КГц f=0:Fd/2;%полоса частот до частоты Найквиста n=200;%порядок фильтра k=hann(n+1);%расчет окна Ханна b=fir1(n, [W1 W2], k);%расчет коэффициентов фильтра hi=impz(b, 1);%расчет импульсной характеристики OFDM1 = [OFDM OFDM OFDM OFDM OFDM OFDM] OFDM_1freq = conv(hi,OFDM1); figure; plot(OFDM_1freq); grid on; %dlmwrite('./OFDM_noisy.CMV', OFDM_noisy); f=fopen('OFDM_noisy.CMV','wt'); for i = 1:954 count = fprintf(f, '%s\n', OFDM_noisy(i)); end fclose(f); Заметьте, если сделать n = 2000, и размножить еще число OFDM-символов, то где-то в середине я получаю следующее: Но обратите внимание на биения. Откуда они получаются? Тогда я просто перешел на гармонический сигнал. У исходного сигнала гармонического биения. Заметьте, если рассматривать построение синусоиды - тут моя непонятка, мой пробел, потому что я думаю, что до половины частоты дискретизации биений и быть не может, только гармоника... Где загвоздка? Fd=18e3;% частота дискретизации W1=3.6e3/(0.5*Fd);%нижняя частота полосового фильтра 3КГц W2=3.7e3/(0.5*Fd);%верхняя частота полосового фильтра 5КГц f=0:Fd/2;%полоса частот до частоты Найквиста n=100;%порядок фильтра k=hann(n+1);%расчет окна Ханна b=fir1(n, [W1 W2], k);%расчет коэффициентов фильтра hi=impz(b, 1);%расчет импульсной характеристики k = 1:900; OFDM = cos(2*pi*3.5e3*k/Fd); OFDM_1freq = conv(hi,OFDM); figure; plot(OFDM_1freq); grid on; figure; plot(OFDM) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться