MATLAB数字信号处理
使用Matlab进行数字信号处理的方法与案例

使用Matlab进行数字信号处理的方法与案例1. 引言数字信号处理是一项广泛应用于通信、音频、图像以及其他相关领域的技术。
Matlab作为一种功能强大的数学计算软件,提供了丰富的工具和函数,使得数字信号处理变得更加简单和高效。
本文将会介绍使用Matlab进行数字信号处理的方法和一些实际应用案例。
2. Matlab数字信号处理工具箱Matlab提供了专门的工具箱来支持数字信号处理。
其中最常用的是信号处理工具箱(Signal Processing Toolbox)和图像处理工具箱(Image Processing Toolbox)。
这些工具箱提供了一系列的函数和算法,用于处理和分析数字信号。
3. 数字信号处理基础知识在开始使用Matlab进行数字信号处理之前,有一些基础知识是必须掌握的。
数字信号处理涉及到信号的采样、离散化、滤波、频谱分析等概念。
了解这些基础知识将有助于我们更好地理解和处理信号。
4. 信号生成与操作在Matlab中,可以使用函数生成各种类型的信号。
例如,使用sawtooth函数可以生成锯齿波信号,使用square函数可以生成方波信号。
此外,Matlab还提供了丰富的信号操作函数,例如加法、乘法、卷积等,方便对信号进行进一步处理。
5. 时域和频域分析时域分析用于分析信号在时间上的变化情况,而频域分析则用于分析信号在频率上的分布。
在Matlab中,可以使用fft函数进行快速傅里叶变换,将信号从时域转换到频域。
通过对频域信号进行分析,可以获得信号的频谱分布,进而得到信号的频率特性。
6. 滤波器设计与应用滤波是数字信号处理中常用的技术,用于去除噪声、增强信号等。
Matlab提供了一系列的滤波器设计函数,例如fir1、butter等,可以根据需要设计各种类型的数字滤波器。
使用这些函数可以实现低通滤波、高通滤波、带通滤波等操作。
7. 音频处理案例音频处理是数字信号处理的一个重要应用领域。
在Matlab中,可以使用audioread函数读取音频文件,使用audiowrite函数写入音频文件。
Matlab与数字信号处理的结合应用方法

Matlab与数字信号处理的结合应用方法一、介绍数字信号处理(Digital Signal Processing, DSP)是一门广泛应用于科学、工程和技术领域的学科,其中包括了信号的获取、处理、传输和存储等方面。
Matlab (Matrix Laboratory)是一款强大的数学计算软件,结合Matlab与数字信号处理可以实现许多复杂的应用。
二、数字信号处理的基础知识数字信号处理的基础知识包括采样、量化、离散化等概念。
采样是指将连续的信号转化为离散的信号,常用的采样方法有最小值采样、平均值采样等。
量化是指将连续的信号转化为离散的幅度,常用的量化方法有均匀量化和非均匀量化。
离散化是指将连续的信号转化为离散的时间,常用的离散化方法有等间隔离散化和非等间隔离散化。
三、Matlab在数字信号处理中的应用1. 信号生成与重构Matlab提供了许多函数和工具箱来生成各种类型的信号,如正弦信号、方波信号、正态分布噪声等。
可以通过这些函数生成特定频率、振幅和相位的信号,用于测试和模拟实际系统。
同时,也可以利用Matlab进行信号的重构和滤波处理,提取出关键信息或者忽略噪声。
2. 频谱分析频谱分析是数字信号处理的重要内容,可以用于分析信号的频率成分和频谱分布。
Matlab提供了丰富的频谱分析函数和工具,如快速傅里叶变换(FFT)、功率谱密度(PSD)和频谱估计等。
通过这些函数和工具,可以对信号的频谱进行详细的分析和可视化展示,帮助研究人员深入了解信号的特性和行为。
3. 滤波器设计与应用滤波器在数字信号处理中起到了至关重要的作用,可以提取出感兴趣的信号成分或者去除噪声。
Matlab提供了多种滤波器设计方法和工具,如巴特沃斯滤波器、切比雪夫滤波器和最小二乘滤波器等。
通过这些工具,可以根据具体需求设计和应用各种类型的滤波器,实现信号的精确处理和去噪。
4. 声音处理与语音识别Matlab在声音处理和语音识别方面也有广泛应用。
Matlab中的数字信号处理方法与实例

Matlab中的数字信号处理方法与实例数字信号处理是一门研究数字信号在数字域中分析、处理和改变的学科。
Matlab是一种强大的数值计算工具,被广泛应用于信号处理领域。
本文将介绍一些在Matlab中常用的数字信号处理方法与实例,并通过实例来展示它们的应用。
1. 信号的采样与重构信号采样是指将连续时间信号转化为离散时间信号的过程。
在Matlab中,我们可以使用“sample”函数对信号进行采样,并使用“hold”函数对采样后的信号进行重构。
下面是一个示例:```matlabfs = 100; % 采样频率t = 0:1/fs:1; % 时间序列x = sin(2*pi*5*t); % 原始信号subplot(2,1,1);plot(t,x);title('原始信号');xlabel('时间');ylabel('幅值');subplot(2,1,2);stem(t,x);title('采样和重构后的信号');xlabel('时间');ylabel('幅值');```在这个例子中,我们生成了一个频率为5Hz的正弦信号,然后对该信号进行采样和重构。
从结果可以看出,原始信号和重构后的信号基本上是一致的。
2. 信号的频谱分析频谱分析是指将信号从时域转换到频域的过程,可以用来分析信号的频率成分。
在Matlab中,我们可以使用“fft”函数对信号进行傅里叶变换,并使用“abs”函数获取信号的幅度谱。
下面是一个示例,演示如何对信号进行频谱分析:```matlabfs = 100; % 采样频率t = 0:1/fs:1; % 时间序列x = sin(2*pi*5*t); % 原始信号N = length(x); % 信号长度X = fft(x); % 傅里叶变换f = (0:N-1)*(fs/N); % 频率坐标plot(f,abs(X));title('信号的频谱');xlabel('频率');ylabel('幅度');```在这个示例中,我们同样生成了一个频率为5Hz的正弦信号,然后对该信号进行傅里叶变换,并绘制出信号的频谱图。
Matlab数字信号处理实验报告

Matlab数字信号处理实验报告本次实验使用MATLAB进行数字信号处理操作,目的是熟悉MATLAB中数字信号处理的相关工具箱,并进一步理解数字信号处理的基本概念和算法。
一、实验内容1.信号的生成与显示2.时域分析和频域分析3.滤波器设计4.数字滤波器性能分析二、实验步骤在MATLAB中,使用sawtooth函数生成一个锯齿波信号,并使用plot函数进行时域波形的显示。
代码如下:f = 1000;fs = 40000;t = 0:1/fs:0.01;y = sawtooth(2*pi*f*t);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');时域分析包括波形的观察和参数分析,如幅值、均值、方差等。
频域分析则是对信号进行傅里叶变换,得到其频谱图,包括频率分布和强度分布。
%时域分析amp = max(y)-min(y);mean_y = mean(y);var_y = var(y);设计一个低通滤波器,将高于1kHz的频率成分滤掉。
对滤波后的信号进行时域分析和频域分析,比较滤波前后信号的特征参数和频谱特征,并绘制原始信号、滤波后信号及其频谱图。
subplot(2,2,1);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');subplot(2,2,2);plot(t,y_filt);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave After Filter');subplot(2,2,3:4);plot(f2,fft_y_filt,'r',f,fft_y,'g');xlabel('Frequency (Hz)');ylabel('Amplitude');title('Sawtooth Wave Spectrum Comparison');legend('After Filter','Before Filter');三、实验结果与分析通过生成并显示一段锯齿波信号,并对其进行时域和频域分析,可以得到该信号的关键信息,如幅值、均值、方差和频率分布特性。
使用Matlab进行数字信号处理的技巧与注意事项

使用Matlab进行数字信号处理的技巧与注意事项1. 引言数字信号处理(Digital Signal Processing,简称DSP)是指通过对离散时间信号进行算法处理以达到某种目的的一种技术。
在现代科技和工程领域中,DSP被广泛应用于通信、图像处理、音频处理、医学诊断、雷达和控制系统等众多领域。
而Matlab作为一种强大的数学计算工具,具备优秀的信号处理和算法库,成为众多工程师和研究人员进行数字信号处理的首选之一。
本文将介绍一些使用Matlab 进行数字信号处理时的技巧与注意事项。
2. 信号处理基础知识在使用Matlab进行数字信号处理之前,有一些基础知识是必备的。
首先是对信号的了解,信号可以分为连续时间信号和离散时间信号。
连续时间信号指的是信号在所有时间上都有定义,而离散时间信号则只在某些时间点上有定义。
数字信号处理主要针对离散时间信号进行。
此外,还需要了解采样定理、变换、滤波器以及噪声等基本概念。
3. 信号与信号处理在进行数字信号处理时,首先需要得到待处理的信号。
Matlab提供了多种方法来生成信号,比如使用波形发生器函数、加载文件以及使用模型等。
根据具体情况选择合适的方法生成待处理信号。
4. 信号的可视化与分析在开始处理信号之前,可以使用Matlab中的图形工具对信号进行可视化和分析。
例如,使用plot函数可以绘制信号的时域波形图,使用spectrogram函数可以绘制信号的频谱图,利用histogram函数可以绘制信号的直方图等。
这些图像可以帮助我们更好地理解信号的特征和性质。
5. 信号的滤波处理滤波是数字信号处理中常用的操作之一,用于去除信号中的噪声、增强信号的频率特征等。
Matlab提供了丰富的滤波器设计函数,包括有限冲激响应(FIR)滤波器和无限冲击响应(IIR)滤波器等。
通过选择合适的滤波器类型、阶数和截止频率等参数,可以实现对信号的滤波处理。
6. 时频分析时频分析用于分析信号在时间和频率上的变化情况,帮助我们更全面地认识信号的特性。
Matlab数字信号处理

Matlab数字信号处理1、信号的产生2、信号的运算3、差分方程与Z变换4、快速傅里叶变换5、数字滤波器的设计6、使用中的一些技巧、单位阶跃序列x=ones(1,n);n=1:N;y = square(2*pi*30*t);●8、三角波(锯齿波)●sawtooth(t,width);●产生周期为2*pi幅值为正负1的三角波,●width为宽度,取0-1之间的数●例:t = 0:.0001:.0625;●y = sawtooth(2*pi*30*t,1);●plot(t,y);●sawtooth函数类似于sin函数,其中width用于调整三角波峰值位置,sawtooth(t,1)等价于sawtooth(t)。
二、信号的运算●1、信号的延迟●给定信号x(n),若信号y1(n)、y2(n)分别定义为:●y1(n)=x(n-k)●y2(n)=x(n+k)●那么,y1(n)是整个x(n)在时间轴上右移k个时间单位所得到的新序列,y2(n)是整个x(n)在时间轴上左移k个时间单位所得到的结果。
●编程实现:●function [y,n]=sig_shift(x,m,n0)●m为输入x的下标;n0为延迟单位●n=m+n0;●y=x;●2、相加、相乘●x(n)=x1(n)+x2(n);●x(n)=x1(n)*x2(n)●当两个向量相乘时,若用.*表示数组相乘,●此时,x1中对应元素与x2中对应元素相乘,所得结果作为结果数组(矩阵),要求两原始数组中元素个数相同,如果采用*是进行向量(矩阵)的乘法,相加时要求两原始数组中元素个数相同。
●4、信号的折叠●信号折叠就是对x(n)每一项对n=0的纵坐标进行折叠,即: y(n)=x(-n)●y(n)与x(n)关于n=0对称;●y=fliplr(x);●n=-fliplr(n);●在实际应用中,fliplr的主要作用是把序列倒转,●例:x=[1,2,3;4,5,6];●y=fliplr(x);●%y=[3,2,1;6,5,4]●●6、信号的卷积●Matlab提供了内部函数conv来实现两个有限长序列的卷积,该函数假定两个序列的是从n=0开始的。
MATLAB数字信号处理

频率响应的实例
• 例:先构成一个截止频率为400Hz的9阶巴特沃思 (Butterworth)低通数字滤波器,求出其系数b,a,再 求出其256点频率响应。指定的采样频率fs =2000Hz。
• 实现1:先调用butter函数,再调用freqz函数;
• 实现2:无返回输出参数,调用freqz函数;
• 使用方法类似freqz函数。 • 与第二章(p32例2-1)采用数组相除方法求取频
率响应相比,使用freqs 函数要方便很多。
23
5.3.2 零极点分析
• zplane 函数用于画出线性系统在Z平面上的零 极点。有两种使用方法: 1、在已知零极点时,例如某滤波器的零点为1/2,一对共轭极点为 0.9ej2(0.3) 和 0.9ej2(0.3) 时, 只要输入命令 zer = -0.5; pol = 0.9*exp(j*2*pi*[-0.3 0.3]'); zplane(zer,pol) 即可画出零极点。 (见p70图5-6)
2
5.2.1 卷积
• MATLAB提供 conv函数实现标准的一维信号卷积 : 例如,若系统h(n)为 >>h=[1 1 1]
输入序列x(n)为 >>x=[1 1 1]
则x(n)经过系统h(n)后的MATLAB实现为: >>conv(h,x) 或 conv([1 1 1], [1 1 1])
执行后即得到y(n)为 ans = 12321
• 如果n、m都大于零,称为ARMA滤波器,而其 冲激响应也为IIR。
7
filter函数
• MATLAB提供了 filter函数来对离散信号进行滤 波,表达信号通过系统后的结果无限冲 激响应系统的情况,但信号仍须是有限长的。
matlab数字信号处理85个实用案例精讲

matlab数字信号处理85个实用案例精讲MATLAB数字信号处理85个实用案例精讲MATLAB是一种强大的数学软件,广泛应用于数字信号处理领域。
本文将介绍85个实用案例,涵盖了数字信号处理的各个方面,包括信号生成、滤波、频谱分析、时频分析、数字滤波器设计等。
1. 信号生成案例:生成正弦信号在MATLAB中,可以使用sin函数生成正弦信号。
例如,生成频率为100Hz,幅度为1的正弦信号,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);2. 滤波案例:低通滤波低通滤波器可以滤除高频信号,保留低频信号。
在MATLAB中,可以使用fir1函数设计低通滤波器。
例如,设计截止频率为100Hz的低通滤波器,代码如下:fs = 1000;fc = 100;N = 100;b = fir1(N, fc/(fs/2), 'low');3. 频谱分析案例:计算功率谱密度功率谱密度是信号在频域上的能量分布。
在MATLAB中,可以使用pwelch函数计算功率谱密度。
例如,计算频率为100Hz的正弦信号的功率谱密度,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);[Pxx, f] = pwelch(x, [], [], [], 1000);4. 时频分析案例:计算短时傅里叶变换短时傅里叶变换可以分析信号在时间和频率上的变化。
在MATLAB中,可以使用spectrogram函数计算短时傅里叶变换。
例如,计算频率为100Hz的正弦信号的短时傅里叶变换,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);spectrogram(x, [], [], [], 1000, 'yaxis');5. 数字滤波器设计案例:设计巴特沃斯滤波器巴特沃斯滤波器是一种常用的数字滤波器,可以实现平滑滤波和带通滤波。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 下的数字信号处理实现示例附录一信号、系统和系统响应1、理想采样信号序列(1)首先产生信号x(n),0<=n<=50n=0:50;A=444.128;a=50*sqrt(2.0)*pi;T=0.001;w0=50*sqrt(2.0)*pi;x=A*exp(-a*n*T).*sin(w0*n*T); close allsubplot(3,1,1);stem(x); %定义序列的长度是50%设置信号有关的参数%采样率%pi 是MATLAB 定义的π,信号乘可采用“.*”%清除已经绘制的x(n)图形%绘制x(n)的图形title(…理想采样信号序列‟);(2)绘制信号x(n)的幅度谱和相位谱k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…理想采样信号序列的幅度谱‟); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…理想采样信号序列的相位谱‟)(3)改变参数为:A = 1,〈 = 0.4, & 0 = 2.0734, T = 1n=0:50;A=1;a=0.4;T=1;w0=2.0734;x=A*exp(-a*n*T).*sin(w0*n*T); close allsubplot(3,1,1);stem(x);title(…理想采样信号序列‟);k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n‟*k); magX=abs(X);%定义序列的长度是50%设置信号有关的参数%采样率%pi 是MATLAB 定义的π,信号乘可采用“.*”%清除已经绘制的x(n)图形%绘制x(n)的图形%绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…理想采样信号序列的幅度谱‟); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(ang X) ; title (…理想采样信号序列的相位谱‟)2、单位脉冲序列在MatLab 中,这一函数可以用zeros 函数实现:n=1:50;x=zeros(1,50); %定义序列的长度是50%注意:MATLAB 中数组下标从1 开始x(1)=1;close all;subplot(3,1,1);stem(x);title(…单位冲击信号序列‟);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…单位冲击信号的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…单位冲击信号的相位谱‟)3、矩形序列n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title(…单位冲击信号序列‟);k=-25:25;X=x*(exp(-j*pi/25)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…单位冲击信号的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…单位冲击信号的相位谱‟)4、特定冲击串:x(n) = ™ (n) + 2.5™ (n 1) + 2.5™ (n 2) + ™ (n 3)n=1:50;x=zeros(1,50); %定义序列的长度是50%注意:MATLAB 中数组下标从1 开始x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;close all;subplot(3,1,1);stem(x);title(…单位冲击信号序列‟);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…单位冲击信号的幅度谱‟); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…单位冲击信号的相位谱‟)5、卷积计算:y(n) = x(n) h(n) =+m =x(m)h(n m)在MATLAB 中。
提供了卷积函数conv,即y=conv(x,h),调用十分方便。
例如:系统:h b (n) = ™ (n) + 2.5™ (n 1) + 2.5™ (n 2) + ™ (n 3)信号:x a (t ) = Aen=1:50;hb=zeros(1,50); 〈nT sin(&0 nT ),0 δ n < 50%定义序列的长度是50%注意:MATLAB 中数组下标从1 开始hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1; close all;subplot(3,1,1);stem(hb);title(…系统hb[n]‟);m=1:50;A=444.128;a=50*sqrt(2.0)*pi;T=0.001;w0=50*sqrt(2.0)*pi;x=A*exp(-a*m*T).*sin(w0*m*T); %定义序列的长度是50%设置信号有关的参数%采样率%pi 是MATLAB 定义的π,信号乘可采用“.*”subplot(3,1,2);stem(x);title(…输入信号x[n]‟);y=conv(x,hb);subplot(3,1,3);stem(y);title(…输出信号y[n]‟);6、卷积定律验证k=-25:25;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,2,1);stem(magX);title(…输入信号的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,2,2);stem(angX) ; title (…输入信号的相位谱‟)Hb=hb*(exp(-j*pi/12.5)).^(n‟*k);magHb=abs(Hb); %绘制hb(n)的幅度谱subplot(3,2,3);stem(magHb);title(…系统响应的幅度谱‟);angHb=angle(Hb); %绘制hb(n)的相位谱subplot(3,2,4);stem(angHb) ; title (…系统响应的相位谱‟)n=1:99;k=1:99;Y=y*(exp(-j*pi/12.5)).^(n‟*k);magY=abs(Y); %绘制y(n)的幅度谱subplot(3,2,5);stem(magY);title(…输出信号的幅度谱‟);angY=angle(Y); %绘制y(n)的相位谱subplot(3,2,6);stem(angY) ; title (…输出信号的相位谱‟)%以下将验证的结果显示♣ ( n p ) ,0 δ n δ 15 x a (n ) = ♦e 2、衰减正弦序列: x b (n ) = ♦ x c (n ) = ♦8 n ,4 δ n δ 7 ♥ ♠ XHb=X.*Hb;Subplot(2,1,1);stem(abs(XHb));title(…x(n)的幅度谱与 hb(n)幅度谱相乘‟);Subplot(2,1,2);stem(abs(Y);title(…y(n)的幅度谱‟); axis([0,60,0,8000])附录二1、高斯序列: n=0:15;用 FFT 进行信号的频谱分析 2 ♠ q ♠♥ 0, else %定义序列的长度是 15 p=8;q=2;x=exp(-1*(n-p).^2/q);close all;subplot(3,1,1);stem(abs(fft(x)))p=8;q=4;x=exp(-1*(n-p).^2/q);subplot(3,1,2);stem(abs(fft(x)))p=8;q=8;x=exp(-1*(n-p).^2/q);subplot(3,1,3);stem(abs(fft(x)))♣e 〈n sin 2 fn ,0 δ n δ 15 ♥ 0, elsen=0:15;a=0.1;f=0.0625;x=exp(-a*n).*sin(2*pi*f*n);close all;subplot(2,1,1);stem(x);subplot(2,1,2);stem(abs(fft(x))) %定义序列的长度是 15 3、三角波序列:♣ n + 1,0 δ n δ 3 ♠ 0, elsex d (n ) = ♦n 3,4 δ n δ 7 ♥ ♠ for i=0:3x(i)=i+1;x(i+4)=8-(i+4);endfor i=8:15x(i)=0;endclose all;subplot(2,1,1);stem(x);subplot(2,1,2);stem(abs(fft(x,16)))4、反三角序列: ♣4 n ,0 δ n δ 3 ♠ 0, else附录三 窗函数法设计 FIR 滤波器一、在 MATLAB 中产生窗函数十分简单:(1)矩形窗(Rectangle Window )调用格式:w=boxcar(n),根据长度 n 产生一个矩形窗 w 。
(2)三角窗(Triangular Window )调用格式:w=triang(n) ,根据长度 n 产生一个三角窗 w 。
(3)汉宁窗(Hanning Window )调用格式:w=hanning(n) ,根据长度 n 产生一个汉宁窗 w 。
(4)海明窗(Hamming Window )调用格式:w=hamming(n) ,根据长度 n 产生一个海明窗 w 。
(5)布拉克曼窗(Blackman Window )调用格式:w=blackman(n) ,根据长度 n 产生一个布拉克曼窗 w 。
(6)恺撒窗(Kaiser Window )调用格式:w=kaiser(n,beta) ,根据长度 n 和影响窗函数旁瓣的β参数产生一个恺撒窗 w 。
二、基于窗函数的 FIR 滤波器设计利用 MATLAB 提供的函数 firl 来实现调用格式:firl (n,Wn,‟ftype ‟,Window),n 为阶数、Wn 是截止频率(如果输入是形如[W1 W2] 的矢量时,本函数将设计带通滤波器,其通带为 W1<ω<W2)、ftype 是滤波器的类型(低 通-省略该参数、高通-ftype=high 、带阻-ftype=stop )、Window 是窗函数。