Перейти к содержанию
    

Leshii

Участник
  • Постов

    118
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Leshii

  • Звание
    Частый гость
    Частый гость

Контакты

  • ICQ
    Array

Посетители профиля

1 045 просмотров профиля
  1. Скорее более корректно должно звучать не частота непрерывна, а частотная манипуляция без разрыва фазы.
  2. Ну уж совсем ничем характеризоваться они не могут наверное. Что-то должно быть, что? - а какое подавление должно быть на самом деле если на вход системы будет подана частота 0.25?
  3. Исходная АЧХ halfband фильтра входящего в состав системы - фильтр->дециматор в 2 раза То что по идее должно получиться после децимации в 2 раза и полученного после этого наложения спектров (зеленая линия). Дополнительно отмечу, что если тестирование данной системы провести путем подачи на вход синуса (на разных частотах) и сравнить выход по отношению ко входу, то мы как раз и увидем зеленую линию. Та АЧХ, которая получается при подаче на вход системы единичного импульса h=[0.042041 0 -0.087017 0 0.31156 0.5 0.31156 0 -0.087017 0 0.042041]; %формируем единичный импульс s=[zeros(1,128) 1 zeros(1,128)]; %фильтруем s_f=filter(h,1,s); %децимируем в два раза s_f=s_f(1:2:end); %Фурье от ИХ plot(20*log10(abs(fft(s_f))+eps)); На втором и третьем рисунке наблюдаем откровенное несоответствие поведения графика на частоте 0.5 от новой частоты дискретизации.
  4. Если посмотреть plot(20*log10(abs(fft(s_f))+eps)) то ровно посередке (точке соответствующей 0.5 от новой частоты дискретизации) мы увидем подавление около 30дБ. А если в уме прикинуть то что должно получиться, то так как halfband в точке 0.25 от начальной частоты дискретизации по определению имеет 6дБ, то после децимации в 2 раза во время которой спектр накладывается, то в точке 0.5 (от новой частоты дискретизации) должно бы быть теже 6дБ, а не 30дБ! Так что правильно 6 или 30?
  5. Ну я вроде о скачке и не говорил, я это единичным импульсом называл. Но ладно, хрен с ним с названием. В ранее приведенном мною коде все таки что Вы видите некорректным? Не тот сигнал на вход подается, не так выход обсчитывается или в принципе для такой системы такой подход противопоказан?
  6. Предположим h=[0.042041 0 -0.087017 0 0.31156 0.5 0.31156 0 -0.087017 0 0.042041]; Далее делаем так %формируем единичный импульс s=[zeros(1,128) 1 zeros(1,128)]; %фильтруем s_f=filter(h,1,s1); %децимируем в два раза s_f=s_f(1:2:end); %Фурье от ИХ plot(20*log10(abs(fft(s_f))+eps)); Где ошибка?
  7. Если я рассчитываю АЧХ системы (halfband->decimation) путем подачи импульса, регистрации отклика (ИХ) и взятием от ИХ Фурье, то получается некая АЧХ. Однако если я типа в уме, на основании здравого смысла оцениваю АЧХ системы (после фильтрации halfband и последующей децимации в 2 раза представляю свертку спектра), то полученная АЧХ отличается от АЧХ, полученной путем подачи на вход единичного импульса. В целом и общем отличия не сверхпринципиальные, но отличия есть. Вот и возник вопрос - а провомерно ли для систем с децимацией использовать подход измерения АЧХ через подачу на вход импульса?, или здесь есть особенности?
  8. Тогда не могли бы Вы ранее озвученным способом смоделировать расчет частотно-фазовой характеристики черного ящика состоящего из halfband фильтра и дециматора на 2? Особенно интересует что будет показывать рассчитанная АЧХ в точке 0.25 исходной частоты дискретизации (или в точке 0.5 конечной частоты дискретизации)?
  9. Предположим, что у нас имеется некий черный ящик на вход которого можно подавать какой-либо сигнал. Задача оценить его (черного ящика) частотно-фазовую характеристику. Если я подам на вход системы импульс, то вроде бы на выходе ЛС будет отклик, соответствующих ИХ данной ЛС и если взять Фурье от полученной ИХ то и получим частотно-фазовую характеристику. Вопрос - насколько правомочно применение данного подхода, если одним из компонентов в черном ящике является устройство децимации?
  10. clear all t=0:(1024-1); f=0.4; A=2.5; fi=pi/4; s0=A*exp(sqrt(-1)*2*pi*f*t+fi); s=[zeros(1, 100) s0 zeros(1,250)]; s=s+(0.5*randn(1,length(s))+sqrt(-1)*0.5*randn(1,length(s))); t=0:length(s)-1; mfT=abs(ifft(fft(s))); sp_mfT=fft(s)/length(s); ug=unwrap(angle(sp_mfT)); ab=abs(sp_mfT); sall=zeros(1,length(t)); for N=1:length(sp_mfT) A_1=ab(N); fi_1=ug(N); f_1=(1/length(sp_mfT))*(N-1); s_1=A_1*exp(sqrt(-1)*2*pi*f_1*t-fi_1); sall=sall+s_1; end; figure, plot(real(mfT),'r'), hold on, plot(abs(sall),'*'), vaxis Почему не совпадают mfT и sall?, где в коде ошибка?
  11. Согласен, сам уже понял что хотел быть и богатым и здоровым
  12. Одним из методов расчета фильтров является метод частотной выборки. Как я понял, одним из нюансов расчета является то, что в частотной области задаются контрольные точки, которые в рассчитанном фильтре должны сохраняться один в один, а вот между ними в рассчитанном фильтре в принципе может твориться черте что. Попытался воспользоваться матлабом =========================================================== Fs=200000; % Sampling frequency N=34; % Filter length fd=[0 0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]; % Frequency sampling points Hd=[1 1 0 0 0 0 0 0 0 0 0 0]; % Frequency samples hn=fir2(N-1, fd, Hd); % Compute the impulse response coeffs. [H, f] = freqz(hn, 1, 512, Fs); % Plot the magnitude frequency response plot(f, abs(H)), grid on xlabel('Frequency (Hz)') ylabel('Magnitude ') ======================================================= но почему то в результирующей характеристике опорные точки (...0.1, 0.2, ...) не соответствуют заданным, хотя бы даже внешне. Где затык?
  13. Можно ли сказать, что для выше приведенной ИХ подавление алиса в от 0 до 200кГц будет около 80дБ? Насчет суммирования логарифмов это я на на самом деле сказанул , но итоговую АЧХ после фильтрации и децимации я правильно рассчитывал (не учитывая глюк с логарифмом)?
  14. Что-то клинит, подскажите плиз: Есть ИХ h=[18 0 -116 0 429 0 -1277 0 5042 8192 5042 0 -1277 0 429 0 -116 0 18]; Тогда исходная АЧХ figure,plot((1:1024)*2000000/1024,20*log10(abs(fft(h,1024))/1024)) (сэмплирование 2МГц) После децимациии в 2 раза получаем sp=20*log10(abs(fft(h,1024))); sp1=sp(1:length(sp)/2); sp2=sp(length(sp)/2+1:end); plot((1:512)*1000000/512,sp1), hold on, plot((1:512)*100000000/512,sp2,'g') Тогда сумарная (после фильтрации и децимации в 2 раза) АЧХ будет figure,plot((1:512)*1000000/512,sp1+sp2); %????????????????? т.е. с одной стороны полезная полоса получается всего около 250кГц, а в полосе 250-500кГц будет паразитное усиление?, которое надо дополнительно отфильтровывать?
×
×
  • Создать...