【滤波器设计】FIR滤波器和IIR滤波器的高通、低通、带通滤波器的设计,以及频率响应附Matlab代码和报告

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 【滤波器设计】FIR滤波器和IIR滤波器的高通、低通、带通滤波器的设计,以及频率响应附Matlab代码和报告

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

一、设计题目

应用Matlab对语音信号进行频谱分析及滤波。

二、设计目的

数字信号处理是一门以算法为核心,理论和实践性较强的学科。是电子信息工程、通信工程专业、电子信息科学与技术专业的一门重要的专业技术基础课。数字信号处理课程是在学习完数字信号处理的相关理论后,进行的综合性训练课程,其目的是:使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;增强学生应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力。

三、设计内容

1语音信号的采集

利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。

2语音信号的频谱分析

首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。

3设计数字滤波器和画出其频率响应

给出各滤波器的性能指标:

(1)低通滤波器性能指标fb1 000 Hzfc1 200 HzAs100 dBAp1 dB

(2)高通滤波器性能指标fc4 800 Hzfb5 000 Hz As100 dBAp1 dB

(3)带通滤波器性能指标fb11 200 Hzfb23 000 Hzfc11 000 Hzfc23 200 HzAs100 dBAp1 dB

用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数buttecheby1ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。

4用滤波器对信号进行滤波

用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。

5比较滤波前后语音信号的波形及频谱

在一个窗口同时画出滤波前后的波形及频谱。

6回放语音信号

Matlab中,函数sound可以对声音进行回放。其调用格式:sound(xfsbits);可以感觉滤波前后的声音有变化。

7设计系统界面

为了使编制的程序操作方便,要求设计处理系统的用户界面。在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。

⛄ 部分代码

fb=1000;fc=1200;As=100;Ap=1;fs=22050;

[x1,Fs]=audioread('D:\matlab\sound.wav');

wc=2*pi*fc/fs;                         %通带截止频率

wn=2*pi*(fc-fb)/fs;                    %过渡带宽

N=ceil((As-7.95)/(2.286*wn));          %所需滤波器的长度

beta=0.1102*(As-8.7);                  %β的求值

Win=kaiser(N+1,beta);                  %使用kaise窗设计低通滤波器

b=fir1(N,wc/pi,'low',Win);

freqz(b,1,512);

title('FIR低通滤波器');

f2=filter(b,1,x1);

figure(2)

subplot(2,1,1)

plot(x1)

title('FIR低通滤波器滤波前的时域波形');

subplot(2,1,2)

plot(f2);

title('FIR低通滤波器滤波后的时域波形');

sound(f2,44100);                    %播放滤波后的语音信号

F0=fft(f2,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x1,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512)));

title('FIR低通滤波器滤波前的频谱')

xlabel('频率/Hz');

ylabel('幅值');

subplot(2,1,2)

F2=plot(f,abs(F0(1:512)));

title('FIR低通滤波器滤波后的频谱')

xlabel('频率/Hz');

ylabel('幅值');

⛄ 运行结果

⛄ 参考文献

1、程佩青.数字信号处理教程. 北京:清华大学出版社出版,2001

2、MATLAB与科学设计 电子工业出版社

3、数字信号处理——使用matlab 西安交通大学出版社

4、数字信号处理基础及MATLAB实现 中国林业出版社

5Matlab信号处理与应用 电子工业出版社

6、基于MATLAB的系统分析与设计 西安电子科技大学出版社

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6月前
|
算法 5G 数据安全/隐私保护
SCM信道模型和SCME信道模型的matlab特性仿真,对比空间相关性,时间相关性,频率相关性
该简介展示了使用MATLAB 2022a进行无线通信信道仿真的结果,仿真表明信道的时间、频率和空间相关性随间隔增加而减弱,并且宏小区与微小区间的相关性相似。文中介绍了SCM和SCME模型,分别用于WCDMA和LTE/5G系统仿真,重点在于其空间、时间和频率相关性的建模。SCME模型在SCM的基础上进行了扩展,提供了更精细的参数化,增强了模型的真实性和复杂度。最后附上了MATLAB核心程序,用于计算不同天线间距下的空间互相关性。
137 0
|
7月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
282 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
7月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
166 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
7月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
142 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
9月前
|
存储 算法 计算机视觉
m基于FPGA的FIR低通滤波器实现和FPGA频谱分析,包含testbench和滤波器系数MATLAB计算程序
在Vivado 2019.2平台上开发的系统,展示了数字低通滤波器和频谱分析的FPGA实现。仿真结果显示滤波效果良好,与MATLAB仿真结果一致。设计基于FPGA的FIR滤波器,利用并行处理和流水线技术提高效率。频谱分析通过离散傅里叶变换实现。提供了Verilog核心程序以示例模块工作原理。
97 4
|
9月前
|
存储 编解码
数字频率合成器dds的量化性能分析matlab仿真
### 课题概述 分析DDS(数字频率合成器)量化性能的MATLAB仿真,研究累加器、截位和DAC位宽对频谱的影响。 ### 核心程序 在MATLAB 2022a中,使用相位映射、量化码本和频偏分析函数,比较了10bit DAC位宽截取、无截取以及相位位宽截取的频谱特性。 ### 系统原理 DDS利用相位累加器、波形查找表、DAC和LPF生成精确频率信号。相位累加器的位数决定频率分辨率和杂散性能,量化和非线性影响信号质量。 ### 分析重点 频率分辨率与相位累加器位数相关,杂散和噪声性能受相位截断、幅度量化及DAC非线性影响。提高这些参数能提升DDS输出质量。
基于高通滤波器的ECG信号滤波及心率统计matlab仿真
**摘要:** 使用MATLAB2022a,实施高通滤波对ECG信号预处理,消除基线漂移,随后分析心率。系统仿真展示效果,核心代码涉及IIR HPF设计,如二阶滤波器的差分方程。通过滤波后的信号,检测R波计算RR间期,从而得到心率。滤波与R波检测是心电生理研究的关键步骤,平衡滤波性能与计算资源是设计挑战。
|
10月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
10月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)