分析此代码运行结果:% 定义采样率和截止频率Fs = 1000; Fstop1 = 100; % 第一个截止频率Fpass1 = 125; % 第一个通带频率Fpass2 = 300; % 第二个通带频率Fstop2 = 350; % 第二个截止频率% 计算截止频率、通带频率和通带宽度Wstop1 = Fstop1/(Fs/2);Wpass1 = Fpass1/(Fs/2);Wpass2 = Fpass2/(Fs/2);Wstop2 = Fstop2/(Fs/2);Apass = 1; % 通带最大衰减(dB)dev = [0.01 0.01]; % 通带和阻带最大波纹(dB)W = [Wstop1 Wpass1 Wpass2 Wstop2]; % 设计频带% 使用fir1函数设计滤波器b = fir1(30, W, 'bandpass', rectwin(31));% 输出滤波器的频率响应freqz(b, 1, 1024, Fs);% 生成原始信号t = 0:1/Fs:1;x = sin(2*pi*50*t) + sin(2*pi*200*t);% 滤波y = filter(b, 1, x);% 绘制原始信号和滤波后的信号subplot(2,1,1);plot(t, x);title('原始信号');xlabel('时间(秒)');ylabel('幅度');subplot(2,1,2);plot(t, y);title('滤波后的信号');xlabel('时间(秒)');ylabel('幅度');
时间: 2024-04-06 16:28:56 浏览: 169
FIR_Low_Pass_Filter-master_lowpassc代码_FIR滤波器_filter_filter16Hz_L
此代码实现了一个带通滤波器的设计和信号的滤波处理。首先,定义了采样率和滤波器的截止频率和通带频率。然后,计算了截止频率、通带频率和通带宽度,并设置了通带最大衰减和通带和阻带最大波纹。接下来,使用fir1函数设计了一个30阶的带通滤波器,并输出了滤波器的频率响应。然后,生成了一个包含两个正弦波的原始信号,并使用filter函数对其进行滤波处理。最后,绘制出原始信号和滤波后的信号的时域波形图。
阅读全文