数字信号处理实验三 FIR数字滤波器设计与软件实现

简介: 数字信号处理实验三 FIR数字滤波器设计与软件实现

一、实验目的

1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。

2.掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

3.掌握FIR滤波器的快速卷积实现原理。

4.学会调用MATLAB函数设计与实现FIR滤波器。


二、实验内容及步骤

1.认真复习用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理。


2.调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图(1)所示。


ad20e8daa20e42e6be732bb4d33be055.png


3.请设计低通滤波器,从高频噪声中提取xt中的单频抑制载波调幅信号,要求信号幅频失真小于0.l dB,将噪声频谱衰减60 dB。观察xt的频谱,确定滤波器指标参数。


4.根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数firl设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。


5.重复实验内容3,滤波器指标不变,但改用等波纹最佳逼近法设计FIR滤波器,调用MATIAB函数 remezord和remez设计FIR数字滤波器。比较两种设计方法设计的滤波器阶数。

提示:

(1)MATIAB函数firl和 fftfilt的功能及其调用格式请查阅本书;

(2)采样频率fc2834943f2c4baab9bc1dafeefb1169.png,采样周期8cd4c2fe1c0f4daa980ba488c0ec3eac.png

(3)根据实验要求,可选择滤波器指标参数:通带截止频率b53342fed3ec46d2989da8c02416d50b.png,阻带截止频率beb75269f16f424ea883323f8f998eea.png,换算成数字频率,通带截止频率71ddcf977c544772a0d670742756145b.png,通带最大衰减为0.1dB,阻带截至频率90d87a08f5d243768bec99f8cde0df1e.png,阻带最小衰减为60dB。


三、程序代码及运行结果

1.程序代码(详见报告)

2.实验结果:如图(2)与图(3)所示


bff3892feaff439d82435bc388d37778.png4dda75bb25ba41c499657fd81991e8d5.png



3.分析与讨论(详见报告)


四、思考题(答案详见报告)

1.如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤。

2.如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率和。

3.解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低。


五、上机体会

通过这次上机实验,我掌握了用窗函数法和等波纹最佳逼近法设计FIR 数字滤波器的原理和方法,掌握了FIR滤波器的快速卷积实现原理,学会了调用MATLAB函数设计与实现FIR滤波器,学习掌握了remezord、remez、firl和 fftfilt函数的功能及其调用格式。


相关文章
|
6月前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
176 7
|
6月前
|
算法
【MATLAB】语音信号识别与处理:SG滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:SG滤波算法去噪及谱相减算法呈现频谱
239 1
|
6月前
|
算法
m基于OFDM+QPSK和LDPC编译码以及MMSE信道估计的无线图像传输matlab仿真,输出误码率,并用图片进行测试
MATLAB2022a仿真实现了无线图像传输的算法,包括OFDM、QPSK调制、LDPC编码和MMSE信道估计。OFDM抗频率选择性衰落,QPSK用相位表示二进制,LDPC码用于前向纠错,MMSE估计信道响应。算法流程涉及编码、调制、信道估计、均衡、解码和图像重建。MATLAB代码展示了从串行数据到OFDM信号的生成,经过信道模型、噪声添加,再到接收端的信道估计和解码过程,最终计算误码率。
70 1
|
6月前
|
算法 异构计算
m基于FPGA的MPPT最大功率跟踪算法verilog实现,包含testbench
该内容包括三部分:1) 展示了Vivado 2019.2和Matlab中关于某种算法的仿真结果图像,可能与太阳能光伏系统的最大功率点跟踪(MPPT)相关。2) 简述了MPPT中的爬山法原理,通过调整光伏电池工作点以找到最大功率输出。3) 提供了一个Verilog程序模块`MPPT_test_tops`,用于测试MPPT算法,其中包含`UI_test`和`MPPT_module_U`两个子模块,处理光伏电流和电压信号。
68 1
|
6月前
基于DSP的数字滤波器设计
基于DSP的数字滤波器设计
138 4
|
5月前
|
存储 算法 计算机视觉
m基于FPGA的FIR低通滤波器实现和FPGA频谱分析,包含testbench和滤波器系数MATLAB计算程序
在Vivado 2019.2平台上开发的系统,展示了数字低通滤波器和频谱分析的FPGA实现。仿真结果显示滤波效果良好,与MATLAB仿真结果一致。设计基于FPGA的FIR滤波器,利用并行处理和流水线技术提高效率。频谱分析通过离散傅里叶变换实现。提供了Verilog核心程序以示例模块工作原理。
51 4
|
机器学习/深度学习 算法
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
m基于OFDM+QPSK和DNN深度学习信道估计的无线图像传输matlab仿真,输出误码率曲线,并用实际图片进行测试
366 0
|
算法 异构计算
m基于FPGA的OFDM调制解调系统verilog实现,包括IFFT,FFT以及成型滤波器,包含testbench
m基于FPGA的OFDM调制解调系统verilog实现,包括IFFT,FFT以及成型滤波器,包含testbench
366 3
|
算法 异构计算
m基于FPGA的高斯白噪声信道模拟系统verilog实现,包含testbench,可以配置不同的SNR和频偏
m基于FPGA的高斯白噪声信道模拟系统verilog实现,包含testbench,可以配置不同的SNR和频偏
252 0
|
机器学习/深度学习 传感器 算法
【滤波器设计】基于matlab实现数字滤波器和均衡器设计
【滤波器设计】基于matlab实现数字滤波器和均衡器设计