Stefan1 0 27 ноября, 2012 Опубликовано 27 ноября, 2012 (изменено) · Жалоба Доброго времени суток! Подскажите код в матлабе для полосового фильтра с полосой пропускания 0.99 - 1.01 ГГц. Сигнал синусоидальный амплитудно модулированный несколькими частотами (низкие частоты+высшие гармоники). Несущая частота сигнала - 1 ГГц. Изменено 28 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ixt 0 27 ноября, 2012 Опубликовано 27 ноября, 2012 · Жалоба Доброго времени суток! Подскажите код в матлабе для полосового фильтра с полосой пропускания 0.99 - 1.01 ГГц. Сигнал амплитудно модулированный несколькими частотами (низкие частоты+высшие гармоники). Несущая частота сигнала - 1 ГГц. Воспользуйся инструментом fdatool. Так, имхо, проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 (изменено) · Жалоба Воспользуйся инструментом fdatool. Так, имхо, проще. А как теперь этот фильтр связать с сигналом? Получился такой код: function Hd = filter Fs = 200; % Sampling Frequency Fstop1 = 1.25; % First Stopband Frequency Fpass1 = 1.35; % First Passband Frequency Fpass2 = 1.39; % Second Passband Frequency Fstop2 = 1.45; % Second Stopband Frequency Astop1 = 60; % First Stopband Attenuation (dB) Apass = 1; % Passband Ripple (dB) Astop2 = 80; % Second Stopband Attenuation (dB) match = 'both'; % Band to match exactly h = fdesign.bandpass(Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, ... Astop2, Fs); Hd = design(h, 'ellip', 'MatchExactly', match); Изменено 28 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ixt 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 · Жалоба А как теперь этот фильтр связать с сигналом? Получился такой код: У функции должен быть параметр. Жми на соседний пункт меню. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 (изменено) · Жалоба У функции должен быть параметр. Жми на соседний пункт меню. Не понял на какой соседний пункт жать, можно чуть подробнее? У меня функция для сигнала получается в ходе решения уравнений, мне надо этот фильтр наложить на сигнал в коде матлаба. Изменено 28 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 7 28 ноября, 2012 Опубликовано 28 ноября, 2012 · Жалоба Помещаете рассчитанные коэффициенты КИХ-фильтра в массив Num, после чего вводите: y=filter(Num,1,x), где y - выходной сигнал, x - входной сигнал. Если фильтр - БИХ, вместо единицы пишете коэффициенты а ЗЫ. А аппаратно-то чем 1 ГГц фильтровать собрались? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 (изменено) · Жалоба Помещаете рассчитанные коэффициенты КИХ-фильтра в массив Num, после чего вводите: y=filter(Num,1,x), где y - выходной сигнал, x - входной сигнал. Если фильтр - БИХ, вместо единицы пишете коэффициенты а Что-то матлаб ругается, пишет: "Dimension argument must be a positive integer scalar in the range 1 to 2^31" в этой записи: y=filter(Hd,1,x) Коэффициенты Num таким образом считаются?: [N,Wn,BETA,TYPE] = kaiserord([Fstop1 Fpass1 Fpass2 Fstop2]/(Fs/2), [0 1 0], [Dstop1 Dpass Dstop2]); b = fir1(N, Wn, TYPE, kaiser(N+1, BETA), flag); Hd = dfilt.dffir( В ); y=filter(Hd,1,x) plot(t2,yidi,'r') ЗЫ. А аппаратно-то чем 1 ГГц фильтровать собрались? Мне это вообще нужно для выделения первой гармоники из спектра сигнала, т.к. простыми методами - не получается из-за сложности сигнала. Хочу посчитать мощность усилителя по первой гармонике. Изменено 28 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 7 28 ноября, 2012 Опубликовано 28 ноября, 2012 · Жалоба y=filter(Hd,1,x) y=filter(b,1,x) , если массив коэффициентов - b Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 · Жалоба y=filter(b,1,x) , если массив коэффициентов - b Благодарю за помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться