我需要通过我设计的模拟低通滤波器来过滤时域简单信号。我需要时域中的输出信号。
%LPF
order=3;
ripple = 1; %pass band ripple
f_c= 22e6;
[num1, den1] = cheby1(order, ripple, 2*pi*1.10*f_c, 'low', 's');
%Create input signal
Fs=200e6;
Ts=1/Fs;
NFFT=2^12;
Runtime=(NFFT-1)*Ts;
t=0:Ts:Runtime
a_in=1;
phase_in=0;
y_in=a_in*sin(2*pi*fin*t+phase_in); % 4096 points
我需要4096点时域中的输出信号y_out
。我需要做什么?
答案 0 :(得分:2)
我认为您必须使用信号处理工具箱的filter()
功能。它以滤波器系数和要滤波的信号为参数:
y = filter(b,a,x)
其中b
是分子系数,a
是分母,x
是要滤波的信号。输出向量的大小通常与输入大小相同,因此,由于您的输入是4096个样本,因此您的输出也将是4096个样本。更多信息here。
所以在您的情况下:
y_out = filter(num1, den1, y_in)