Добрый вечер!
начиню моделировать полосовик в матлаб:
Код:
Fs = 2*pi*1e8; %частота дискретизации
Wp = 2*pi*[0.5e7 1.5e7]/Fs; %полоса пропускания
Ws = 2*pi*[0.45e7 1.55e7]/Fs;
Rp = 0.5;
Rs = 40;
[n,Wn] = ellipord(Wp,Ws,Rp,Rs)
[b,a]= ellip(n,Rp,Rs,Wp);
[h,f]= freqz(b,a); %рис1 АЧХ
plot(f/pi,abs(h))
n = 7
получается такая АЧХ:
http://imglink.ru/pictures/05-11-10/520c6173651eac85343e8a73dbfca9f0.jpgно при подаче синусоиды с частотой 10МГц на выходе нет ничего .20-30МГц спектр есть
не подскажите в чем проблема?
при n = 20 получается такая АЧХ:
http://imglink.ru/pictures/05-11-10/f98ae71447384c9226c8e65ecbd3f500.jpgтоже непонятно почему...
полный код
(Оффтоп)
Fs = 2*pi*1e8;
Wp = 2*pi*[0.50e7 1.50e7]./Fs; %полоса пропускания
Ws = 2*pi*[0.45e7 1.55e7]./Fs;
Rp = 0.5;
Rs = 40;
T = 1/Fs; % Период дескретизации
L = 10000; % Длинна сигнала
t = (0:L-1)*T; % Вектор времени
[n,Wn] = ellipord(Wp,Ws,Rp,Rs)
[b,a]= ellip(n,Rp,Rs,Wp);
[h,w]= freqz(b,a); %рис1 АЧХ
plot(w/pi,abs(h))
f0 = 1e7; %частота несущей
x = 1*sin(2*pi*f0*t);
figure
plot((1:200),x(1:200))
title('Входной сигнал')
xlabel('Время')
NFFT = 2^nextpow2(L); %следующая степень 2
Y = fft(x,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1); %сетка частот
% график модуля спектра
figure
plot(f,2*abs(Y(1:NFFT/2+1)))
axis ([0 2*f0 0 1])
title('Модуль спектра x(t)')
xlabel('Частота (Hz)'),
ylabel('|x(f)|')
%s1 = filter(b,a,x);
%figure
%plot(s1) %рис 3 сигнал на выходе фильтра
h = impz(b,a); %импульсная функция
figure
plot(h)
y = conv(x,h); %свертка
figure
plot((1:200),y(1:200))
V= fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
figure
plot(f,2*abs(V(1:NFFT/2+1)))
axis ([0 2*f0 0 1])
title('Модуль спектра y(t)')
xlabel('Частота (Hz)')
ylabel('|Y(f)|')