数字信号处理实验一 IIR数字滤波器设计及软件实现

合集下载

IIR数字滤波器的设计及软件实现之欧阳引擎创编

IIR数字滤波器的设计及软件实现之欧阳引擎创编

IIR数字滤波器的设计及软件实现一.欧阳引擎(2021.01.01)二.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会用MATLAB信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool)设计各种滤波器,学会根据滤波需求确定滤波器指标参数;(3)掌握IIR数字滤波器的MATLAB实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

三.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。

基本的设计过程是:将给定的数字滤波器指标转换成模拟滤波器的指标;涉及模拟滤波器;将模拟滤波器的系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

本实验的数字滤波器的MATLAB实验是调用MATLAB信号处理工具箱的函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n).四.实验内容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可通过滤波的方法在频域分离。

2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。

提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]t t t t t s ffff ffccc2cos 2cos 212cos 2cos )(++-==ππππ其中,()tfc2cos π称为载波,fc为载波频率,()tf2cos π称为单频调制信号,f为调制正弦波信号频率,且满足f c>f。

数字信号处理实验报告四--IIR数字滤波器设计及软件实现

数字信号处理实验报告四--IIR数字滤波器设计及软件实现

实验四 IIR数字滤波器设计及软件实现姓名:班级:学号:一、实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR数字滤波器的MATLAB实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

二、实验原理与方法设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

三、实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图10.4.1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

-10123t/ss (t )(a) s(t)的波形(b) s(t)的频谱f/Hz幅度图10.4.1三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现IIR数字滤波器(Infinite Impulse Response Digital Filter)是一种常用于信号处理的数字滤波器。

与FIR(Finite Impulse Response)滤波器不同,IIR滤波器的输出取决于过去的输入样本和输出样本。

1.确定滤波器的类型:根据实际应用需求选择低通滤波器、高通滤波器、带通滤波器或带阻滤波器。

2.确定滤波器的阶数:阶数决定了滤波器的频率响应特性的陡峭程度。

一般来说,阶数越高,滤波器的频率响应特性越陡峭。

阶数的选择需要权衡计算复杂度和滤波器性能。

3.设计滤波器的传递函数:传递函数是描述滤波器输入和输出之间关系的数学表达式。

传递函数可以通过频率响应要求来确定。

4.选择滤波器设计方法:针对不同的频率响应要求,可以选择不同的滤波器设计方法,如巴特沃斯方法、切比雪夫方法、椭圆方法等。

5.设计滤波器的参数:根据滤波器的传递函数和设计方法,计算滤波器的系数。

这些系数可以用于实现滤波器。

软件实现的步骤如下:1. 选择合适的软件平台:根据实际需求,选择适合的软件平台,如MATLAB、Python等。

2. 导入相关的滤波器设计库:选择合适的滤波器设计库,如MATLAB的Signal Processing Toolbox、Python的scipy.signal等。

3.使用滤波器设计函数:根据选择的滤波器设计方法,使用相应的函数进行滤波器设计。

这些函数可以根据输入的参数计算出滤波器的系数。

4.实现滤波器:使用得到的滤波器系数,将其用于滤波器的实现。

可以使用滤波器函数对信号进行滤波操作。

5.评估滤波器性能:根据实际应用需求,对滤波器的性能进行评估。

可以通过比较滤波器的输出和期望的输出,或者通过分析滤波器的频率响应特性来评估滤波器的性能。

需要注意的是,IIR数字滤波器的设计和实现过程可能相对复杂,需要一定的信号处理和数学基础。

在实际应用中,可以借助已有的滤波器设计库和工具来简化设计和实现过程。

IIR数字滤波器设计及软件实现

IIR数字滤波器设计及软件实现

实验一:IIR数字滤波器设计及软件实现一、实验指导1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR数字滤波器的MATLAB实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

IIR数字滤波器设计及软件实现[1]

IIR数字滤波器设计及软件实现[1]

IIR数字滤波器设计及软件实现[1]IIR数字滤波器是一种常见的数字滤波器类型,它利用数字信号处理技术对信号进行滤波,广泛应用于信号处理、音频处理、图像处理等领域。

本文将介绍IIR数字滤波器的设计方法和软件实现。

一、IIR数字滤波器的基本原理IIR数字滤波器是一种基于递归算法的数字滤波器,它可以用于对离散时间信号进行滤波。

具体而言,IIR数字滤波器是由一组差分方程组成的,其中包括有限冲激响应(FIR)和无限冲激响应(IIR)数字滤波器两种类型。

与FIR数字滤波器不同的是,IIR数字滤波器是具有无限冲激响应的性质,因此可以实现更高阶的滤波效果。

IIR数字滤波器可以用如下的一阶滤波器来进行递归实现:y(n) = a1 * y(n-1) + a0 * x(n) - b1 * x(n-1)其中,x(n)表示输入信号,y(n)表示输出信号,a0、a1、b1是滤波器的系数。

这种一阶滤波器可以通过级联组合来构成更高阶的滤波器,形成一系列级联的一阶滤波器。

1.滤波器类型的选择在开始设计IIR数字滤波器之前,需要先确定所需的滤波器类型,即低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。

各种类型的滤波器的特点及应用范围不同,需要根据具体需求进行选择。

2.设计滤波器参数确定了滤波器类型之后,需要根据要求的滤波器截止频率、带宽、通带衰减等参数来确定滤波器的系数。

一般可以采用Butterworth滤波器设计方法、Chebyshev滤波器设计方法或Elliptic滤波器设计方法等常见方法来进行设计。

3.验证设计结果设计出的IIR数字滤波器需要进行验证,可以采用MATLAB等数字信号处理软件进行仿真测试,进行频率响应、相位响应、群延迟等分析,以确保设计结果满足要求。

IIR数字滤波器的实现可以采用MATLAB、Python等数字信号处理工具,也可以使用C 语言来进行程序设计。

下面以MATLAB为例,介绍IIR数字滤波器的实现。

IIR数字滤波器设计及软件实现

IIR数字滤波器设计及软件实现

IIR数字滤波器设计及软件实现实验一:IIR数字滤波器设计及软件实现一、实验指导1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR数字滤波器的MATLAB实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip 可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

IIR数字滤波器设计及实现

IIR数字滤波器设计及实现

实验三IIR数字滤波器设计及实现一、实验目的(1)熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理设计IIR数字滤波器一般采用脉冲响应不变法和双线性变换法。

脉冲响应不变法:根据设计指标求出滤波器确定最小阶数N和截止频率Wc;计算相应的模拟滤波器系统函数;将模拟滤波器系统函数:'转换成数字滤波器系统函数双线性变换法:根据数字低通技术指标得到滤波器的阶数N;取合适的T值,几遍校正计算相应模低通的技术指标--;根据阶数N查表的到归一化低通原型系统函数。

,将"' Q 代入。

‘去归一化得到实际的,/ :' ;用双线性变换法将:’转换成数字滤波器三、实验内容及步骤1、用脉冲响应不变法设计(1)根据设计指标求出滤波器确定最小阶数N和截止频率Wcclear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn 得到结果为:N 二7Wn 二 0.3266 即:该设计指标下的模拟滤波器最小阶数为N=7,其截至频率为Wn =0.3266;(2)计算相应的模拟滤波器系统函数打:, clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数 Wn[B,A]=butter(N,1,'s' %计算相应的模拟滤波器系统函数得到结果为: B = 1.0e-003 * 0 00 0 0 0 0 0.3966 A =1.0000 1.4678 1.0773 0.5084 0.1661 0.0375 0.0055 0.0004 >>(3)将模拟滤波器系统函数转换成数字滤波器系统函数 clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定 butterworth 的最小阶数 N 和频率参数Wn[B,A]=butter(N,1,'s' ; %计算相应的模拟滤波器系统函数 [Bz,Az]=impinvar(B,A %用脉冲相应不变法将模拟滤波器转换成数字滤波器 sys=tf(Bz,Az,T; %得到传输函数‘‘‘‘‘ Bz =1.0e-004 *-0.0000 0.0045 0.2045 0.8747 0.7094 0.1090 0.0016 0Az =1.0000 -5.5415 13.2850 -17.8428 14.4878 -7.1069 1.9491 -0.2304>>>>即:由Bz和Az可以写出数字滤波器系统函数为:Transfer function:-9.992e-015 z~7 + 4.454e-007 z~6 + 2.045e-005 z~5 + 8.747e-005 z~4 + 7.094e-005 z"3 + 1.09e-005 z~2+ 1.561e-007 z z 7 - 5.541 z 6 + 13.28 z 5 - 17.84 z 4 + 14.49 z 3 - 7.107 z 2 + 1.949 z - 0.2304Sampling time: 4.5351e-005>>(4)绘图clear;close all;clc; % 开始准备fp=3400;fs=5000;Fs=22050;Rp=2;Rs=20;T=1/Fs; % T=1s 的模拟滤波器设计指标W1p=fp/Fs*2; W1s=fs/Fs*2; % 求归一化频率[N, Wn] = buttord(W1p, W1s, Rp, Rs, 's'; % 确定butterworth 的最小阶数N 和频率参数Wn[B,A]=butter(N,Wn,'s'; %计算相应的模拟滤波器系统函数[Bz,Az]=impinvar(B,A; %用脉冲响应不变法将模拟滤波器转换成数字滤波器sys=tf(Bz,Az,T;%得到传输函数‘ [H,W]=freqz(Bz,Az,512,Fs; % 生成频率响应参数plot(W,20*log10(abs(H; % 绘制幅频响应grid on; %加坐标网格得到结果为:观察实验结果图可看到:在频率为3402Hz处频率为衰减2.015db,在频率为5017Hz处幅度衰减21.36db。

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现

IIR 数字滤波器的设计及软件实现一.实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法; (2)学会用MATLAB 信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool )设计各种滤波器,学会根据滤波需求确定滤波器指标参数; (3)掌握IIR 数字滤波器的MATLAB 实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

二.实验原理设计IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。

基本的设计过程是:①将给定的数字滤波器指标转换成模拟滤波器的指标; ②涉及模拟滤波器;③将模拟滤波器的系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

本实验的数字滤波器的MATLAB 实验是调用MATLAB 信号处理工具箱的函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n). 三.实验内容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可通过滤波的方法在频域分离。

2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。

提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]tt t t t s f f f f f f c c c 0002cos 2cos 212cos 2cos )(++-==ππππ 其中,()t fc2cos π称为载波,fc为载波频率,()t f2cos π称为单频调制信号,f 0为调制正弦波信号频率,且满足fc>f 0。

IIR数字滤波器的设计及软件实现之欧阳学创编

IIR数字滤波器的设计及软件实现之欧阳学创编

IIR数字滤波器的设计及软件实现一.时间:2021.03.03 创作:欧阳学二.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会用MATLAB信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool)设计各种滤波器,学会根据滤波需求确定滤波器指标参数;(3)掌握IIR数字滤波器的MATLAB实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

三.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。

基本的设计过程是:将给定的数字滤波器指标转换成模拟滤波器的指标;涉及模拟滤波器;将模拟滤波器的系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

本实验的数字滤波器的MATLAB 实验是调用MATLAB 信号处理工具箱的函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n).四.实验内容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可通过滤波的方法在频域分离。

2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。

提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]t t t t t s f f f f f f c c c 0002cos 2cos 212cos 2cos )(++-==ππππ其中,()t f c 2cos π称为载波,f c 为载波频率,()t f 02cos π称为单频调制信号,f 0为调制正弦波信号频率,且满足f c >f 0。

matlab实验报告 IIR数字滤波器设计

matlab实验报告 IIR数字滤波器设计

实验报告姓名:李鹏博 实验名称: IIR 数字滤波器设计 学号:2011300704 课程名称: 数字信号处理 班级:03041102 实验室名称: 航海西楼303 组号: 1 实验日期: 2014.06.20一、实验目的、要求掌握IIR 数字滤波器设计的冲激响应不变法和双线性变换法。

掌握IIR 数字滤波器的计算机编程实现方法,即软件实现。

二、实验原理为了从模拟滤波器设计IIR 数字滤波器,必须先设计一个满足技术指标的模拟滤波器,然后将其数字化,即从s 平面映射到z 平面,得到所需的数字滤波器。

虽然IIR 数字滤波器的设计本质上并不取决于连续时间滤波器的设计,但是因为在许多应用中,数字滤波器就是用来模仿模拟滤波器功能的,所以由模拟滤波器转化为数字滤波器是很自然的。

因此,由模拟滤波器设计数字滤波器的方法准确、简便,是目前最普遍采用的方法。

三、实验环境PC 机,Windows XP ,office 2003,Matlab 软件。

四、实验过程、数据记录、分析及结论实验过程1.编程设计滤波器,用冲激响应不变法设计IIR 数字滤波器。

2.编程设计滤波器,用双线性变换法设计IIR 数字滤波器。

3.求脉冲响应、频率响应以及零极点。

4.编程滤波,求滤波器输出,完成对不同频率的多个正弦信号的滤波。

实验步骤根据所给定的技术指标进行指标转换。

112c c f πΩ=,222c c f πΩ=,112s s f πΩ=,222s s f πΩ=,21p c c B Ω==Ω-Ω,221222s s s s s B Ω-ΩΩΩ=Ω,3,18p s αα=-=-。

根据指标设计Butterworth 模拟低通滤波器。

调用函数[n,wn]=buttord(wp,ws,rp,rs,’s ’)确定阶次。

调用函数[zl,pl,kl]=buttap(n),求低通原型的模型。

调用函数[bl,al]=zp2tf(zl,pl,kl)实现模型转换。

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现什么是IIR数字滤波器?IIR数字滤波器是一种数字信号处理滤波器,它基于递归的思想,可以对原始信号进行滤波处理。

与FIR数字滤波器相比,IIR数字滤波器具有更高的效率和更灵活的设计。

它的设计基于对滤波器的传递函数进行分析和优化,可以通过不同的传递函数来实现不同的滤波目标。

IIR数字滤波器的设计方法要设计一个IIR数字滤波器,可以采用以下步骤:步骤1:确定滤波器的类型根据滤波的目的和要求,确定滤波器的类型。

常见的滤波器类型有低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

步骤2:计算滤波器的阶数滤波器的阶数是指滤波器中的二阶段数。

阶数越高,滤波器的性能越好,但也意味着计算量和实现难度会增加。

根据滤波的要求和性能要求,计算滤波器的阶数。

步骤3:选择滤波器的截止频率滤波器的截止频率是指滤波器在截止频率附近的频率响应。

对于低通滤波器和高通滤波器,截止频率通常是一个常数。

对于带通滤波器和带阻滤波器,截止频率需要确定两个频率。

步骤4:计算滤波器的传递函数根据滤波器类型、阶数和截止频率,可以通过传递函数的计算得到滤波器的传递函数。

步骤5:采用正则化处理在计算得到传递函数后,需要进行正则化处理。

正则化处理可以消除传递函数中的不稳定性,并确保滤波器的稳定性和可变性。

步骤6:实现反馈环和前馈环根据传递函数,可以实现反馈环和前馈环。

反馈环和前馈环的选择会影响滤波器的性能。

IIR数字滤波器的软件实现要实现IIR数字滤波器,可以使用MATLAB或Python等数学软件。

这里以Python为例进行说明。

步骤1:导入必要的库import numpy as np #用于处理数组和矩阵import scipy.signal as signal #用于信号处理import matplotlib.pyplot as plt #用于绘图步骤2:指定滤波器的类型、截止频率和阶数type ='lowpass'#低通滤波器fc =2000#截止频率order =4#阶数步骤3:计算滤波器的系数b, a = signal.butter(order, fc, type)步骤4:生成信号并进行滤波t = np.linspace(0, 1, 500, endpoint=False)x = np.sin(2* np.pi *5* t) + np.sin(2* np.pi *10* t) + np.sin(2* np.pi *20* t)y = signal.filtfilt(b, a, x)步骤5:绘制原始信号和滤波后的信号plt.plot(t, x, label='original signal')plt.plot(t, y, label='filtered signal')plt.legend(loc='best')plt.show()IIR数字滤波器是数字信号处理中一种重要的滤波器。

数字信号处理IIR数字滤波器实验报告

数字信号处理IIR数字滤波器实验报告

数字信号处理IIR数字滤波器实验报告通信与信息系统****** dragon_hm@一、实验名称设计IIR数字低通滤波器二、实验目的1、掌握IIR数字低通滤波器的设计方法和步骤;2、掌握频率变换的原理和方法;3、利用设计的IIR数字滤波器,检验、观察滤波效果。

三、实验原理1、设计IIR数字滤波器一般有两种方法:a)先设计一个相应指标的模拟滤波器H a(s),然后将其数字化,即将s平面映射到z平面得到所需的数字滤波器H(z);b)在z平面直接设计IIR数字滤波器,给出闭合形式的公式,或是以所希望的滤波器响应作为依据,直接在z平面上通过多次选定极点和零点的位置,以逼近该响应;本实验使用第一种方法。

2、用双线性变换法设计数字低通巴特渥斯滤波器设定:阶次,数字域截止频率1)巴特渥斯模拟滤波器幅度平方函数:()|H a( )|()其中为整数,是滤波器的阶次;为截止频率。

2)令,则,故3阶巴特渥斯滤波器的系统函数为:H a(s)(s s s)3)将模拟滤波器的系统函数H a(s)表示为一般形式:H a(s)∑sss s s上式已假定分子与分母的阶次都等于,若分子阶次小于分母的阶次,则只需中后面几个为零值就可以了。

4)通过双线性变换法将所求得的模拟滤波器的系统函数H a(s)数字化为数字滤波器的系统函数H(z),双线性变换公式为:z s s5)双线性变换得到的数字系统函数H(z)的一般表达式为:H(z)∑zzz z z由H a(s)的系数表示经双线性变换后的H(z)的系数(表中⁄)参见课本P194中的表5-2。

至此,用双线性变换法设计数字低通巴特渥斯滤波器的工作已全部完成。

3、IIR数字滤波器的频率变换实际中使用的数字滤波器除低通型外,还有高通型、带通型、带阻型等,设计高通、带通、带阻等数字滤波器常用的方式是:先设计低通型的数字滤波器,然后用数字频率变换法将它转换成某种类型的数字滤波器。

由截止频率为的低通数字滤波器变换成高通数字滤波器的公式为:z其中s()s()为要求的截止频率。

iir数字滤波器的设计实验报告

iir数字滤波器的设计实验报告

iir数字滤波器的设计实验报告IIR数字滤波器的设计实验报告引言数字滤波器是数字信号处理中的重要组成部分,用于去除信号中的噪声、滤波、频率分析等。

在数字滤波器中,IIR(Infinite Impulse Response)滤波器是一种常见且广泛应用的滤波器类型。

本实验旨在设计一个IIR数字滤波器,并通过实验验证其性能。

一、实验目的本实验的目标是设计一个IIR数字滤波器,实现对输入信号的滤波功能。

具体而言,我们将通过以下步骤完成实验:1. 确定滤波器的滤波类型(低通、高通、带通或带阻)和截止频率。

2. 设计滤波器的传递函数。

3. 使用Matlab或其他数学软件进行滤波器的频率响应和时域响应分析。

4. 利用实验数据对滤波器进行性能评估。

二、实验原理IIR数字滤波器的设计基于差分方程,其传递函数可以表示为:H(z) = (b0 + b1*z^(-1) + b2*z^(-2) + ... + bn*z^(-n)) / (1 + a1*z^(-1) +a2*z^(-2) + ... + am*z^(-m))其中,b0、b1、...、bn和a1、a2、...、am是滤波器的系数。

滤波器的阶数为max(m, n)。

根据滤波器的滤波类型和截止频率,可以确定这些系数的具体值。

三、实验步骤1. 确定滤波器的类型和截止频率。

例如,我们选择设计一个低通滤波器,截止频率为1kHz。

2. 根据所选滤波器类型和截止频率,计算滤波器的传递函数。

3. 使用Matlab或其他数学软件进行滤波器的频率响应和时域响应分析。

可以绘制滤波器的幅频响应曲线和相频响应曲线,以及滤波后的信号波形。

4. 利用实验数据对滤波器进行性能评估。

可以通过输入不同频率的信号,观察滤波器的效果,并计算滤波器的截止频率、增益和相位特性等参数。

四、实验结果与分析通过实验,我们得到了设计的低通滤波器的频率响应和时域响应曲线。

在频率响应曲线中,我们可以观察到滤波器在截止频率附近的衰减特性,以及在截止频率以下的通过特性。

iir数字滤波器设计及c语言程序

iir数字滤波器设计及c语言程序

iir数字滤波器设计及c语言程序IIR数字滤波器设计及C语言程序IIR(Infinite Impulse Response)数字滤波器是一种常用的数字信号处理技术,广泛应用于音频处理、图像处理、通信系统等领域。

本文将介绍IIR数字滤波器的设计原理,并给出相应的C语言程序实现。

一、IIR数字滤波器的设计原理IIR数字滤波器的设计基于差分方程,其输入信号和输出信号之间存在一定的差分关系。

相比于FIR(Finite Impulse Response)数字滤波器,IIR数字滤波器具有更窄的转换带宽、更高的滤波器阶数和更好的相位响应等特点。

IIR数字滤波器的设计主要包括两个关键步骤:滤波器规格确定和滤波器参数计算。

首先,根据实际需求确定滤波器的类型(低通、高通、带通或带阻)、截止频率、通带衰减和阻带衰减等规格。

然后,根据这些规格利用数字滤波器设计方法计算出滤波器的系数,从而实现对输入信号的滤波。

二、IIR数字滤波器的设计方法常见的IIR数字滤波器设计方法有脉冲响应不变法、双线性变换法和最小均方误差法等。

下面以最常用的脉冲响应不变法为例介绍设计方法。

脉冲响应不变法的基本思想是将模拟滤波器的脉冲响应与数字滤波器的单位脉冲响应进行匹配。

首先,根据模拟滤波器的传递函数H(s)确定其脉冲响应h(t)。

然后,将连续时间下的脉冲响应离散化,得到离散时间下的单位脉冲响应h[n]。

接下来,根据单位脉冲响应h[n]计算出数字滤波器的差分方程系数,从而得到滤波器的数字表示。

三、IIR数字滤波器的C语言程序实现下面给出一个简单的IIR数字滤波器的C语言程序实现示例,以低通滤波器为例:```c#include <stdio.h>#define N 100 // 输入信号长度#define M 5 // 滤波器阶数// IIR数字滤波器系数float b[M+1] = {0.1, 0.2, 0.3, 0.2, 0.1};float a[M+1] = {1.0, -0.5, 0.3, -0.2, 0.1};// IIR数字滤波器函数float IIR_filter(float *x, float *y, int n) {int i, j;float sum;for (i = 0; i < n; i++) {sum = 0;for (j = 0; j <= M; j++) { if (i - j >= 0) {sum += b[j] * x[i - j]; }}for (j = 1; j <= M; j++) { if (i - j >= 0) {sum -= a[j] * y[i - j]; }}y[i] = sum;}}int main() {float x[N]; // 输入信号float y[N]; // 输出信号int i;// 生成输入信号for (i = 0; i < N; i++) {x[i] = i;}// IIR数字滤波器滤波IIR_filter(x, y, N);// 输出滤波后的信号for (i = 0; i < N; i++) {printf("%f ", y[i]);}return 0;}```以上是一个简单的IIR数字滤波器的C语言程序实现示例。

IIR数字滤波器的设计及软件实现

IIR数字滤波器的设计及软件实现

IIR 数字滤波器的设计及软件实现一.实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法; (2)学会用MATLAB 信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool )设计各种滤波器,学会根据滤波需求确定滤波器指标参数; (3)掌握IIR 数字滤波器的MATLAB 实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

二.实验原理设计IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。

基本的设计过程是:①将给定的数字滤波器指标转换成模拟滤波器的指标; ②涉及模拟滤波器;③将模拟滤波器的系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

本实验的数字滤波器的MATLAB 实验是调用MATLAB 信号处理工具箱的函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n). 三.实验容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可通过滤波的方法在频域分离。

2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。

提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]tt t t t s f f f f f f c c c 0002cos 2cos 212cos 2cos )(++-==ππππ 其中,()t fc2cos π称为载波,fc为载波频率,()t f2cos π称为单频调制信号,f 0为调制正弦波信号频率,且满足fc>f 0。

IIR数字滤波器的设计实验报告

IIR数字滤波器的设计实验报告

IIR数字滤波器的设计实验报告
实验目的
本实验的目的在于探讨IIR(递归)数字滤波器的原理,掌握能够设计微分器和积分
器的IIR滤波器的方法。

同时,熟悉MATLAB中滤波器设计的相关函数,并用新的函数进
行实验验证。

实验仪器
对于本次实验,所用的仪器主要为实验课电脑,及其软件MATLAB,用于完成滤波器设计及实验实现。

实验过程
1、用MATLAB实现IIR数字滤波器,设计并实现IIR滤波器,并用校准参数系数评估
滤波器性能。

3、对设计的滤波器的传递函数进行仿真、评估。

使用MATLAB绘出滤波器的幅频特性、频谱,以及滤波器输入、输出的波形和信号,观察其传递特性。

实验结果
仿真结果表明,IIR数字滤波器的滤波效果较好,有效降低了背景噪声,使信号在指
定某一范围内得到有效过滤。

滤波器的幅频特性绘制,可以看到滤波器在频率范围内的衰
减特性,证明IIR滤波器具有良好的传输特性,有效控制频率范围的信号,使信号得以准
确输出。

本次实验通过MATLAB完成IIR数字滤波器的设计,经过仿真、评估之后,发现该IIR 滤波器可以有效滤除信号中的指定范围的频率,在精度和效率方面得到保证,而且参数耦
合范围小,可被用于绝大多数滤波器需求场景。

5.IIR数字滤波器三种结构形式的软件实现 - 数字信号处理实验报告

5.IIR数字滤波器三种结构形式的软件实现 - 数字信号处理实验报告

计算机与信息工程学院验证性实验报告一、实验目的(1)掌握IIR 数字滤波器设计的方法;(2)掌握IIR 数字滤波器直接型、级联型和并联型的基本特点并根据给定的传递函数形式正确选择是否采用直接型、级联型和并联型; (3)熟悉直接型、级联型和并联型的编程方法。

二、实验仪器计算机,MATLAB 软件三、实验原理一个IIR 滤波器的系统函数给出为:10010110...()();1()1...MnM nn M NNnN n n b zb b z b z B z H z a A z a z a z a z---=---=+++====+++∑∑ 其中n b 和n a 是滤波器系数。

不失一般性假定01a =。

如果 0N a ≠,N 就是这个IIR 滤波器的阶。

其差分方程表示是:1()()()MNm m m m y n b x n m a y n m ===---∑∑有三种结构用于实现一个IIR 滤波器。

(1)直接型:结构数字滤波器按给出的差分方程式直接与以实现。

有两种型式:直接Ⅰ型和直接Ⅱ型结构。

直接型结构用两个行向量来描述:含有系数{}n b的向量b 和含有系数{}n a 的向量a ,MATLAB 中其结构实现是用filter 函数。

(2)级联型:将系统函数H(z)写成具有实系数的二阶的乘积。

即将分子分母多项式分解为它们各自的根,然后将一对复数共轭根或者任意两个实数根组合成二阶多项式。

一般假定N 为偶数,有:1011111001112,1,20121,1,2...()1...1...1...11MM N N M M NN Kk k k k k b b z b z H z a z a z b bz z b b b a z a z B z B z b A z A z ------------=+++=++++++=+++++=++∏式中K 是等于,1,2,1,2,,,,2k k k k NB B A A 都是代表实数的二阶系数。

IIR数字滤波器设计及软件实现-实验报告

IIR数字滤波器设计及软件实现-实验报告

IIR数字滤波器设计及软件实现-实验报告实验目的:1.掌握数字滤波器设计的基本原理和方法;2.学习数字滤波器的软件实现;3.熟悉数字滤波器的特性和性能评价指标。

实验设备:1.计算机;2.MATLAB软件。

实验步骤:1. 设计无限冲激响应(Infinite Impulse Response,IIR)数字滤波器的传递函数。

2.使用MATLAB软件将传递函数转换为差分方程。

3.编写MATLAB代码实现差分方程的数字滤波器。

4.给定待滤波的数字信号,将信号传入数字滤波器进行滤波处理。

5.分析滤波后的信号的频率响应和时域响应,并进行性能评价。

实验结果:在MATLAB中,设计了一个二阶Butterworth低通滤波器的传递函数:H(z)=(0.2929/(z^2-0.5858z+0.2929))将传递函数转换为差分方程:y(n)=0.2929*x(n)+0.5858*x(n-1)+0.2929*x(n-2)-0.5858*y(n-1)-0.2929*y(n-2)使用MATLAB代码实现了差分方程的数字滤波器:```MATLABfunction y = IIR_filter(x)persistent x1 x2 y1 y2;if isempty(x1)x1=0;x2=0;y1=0;y2=0;endy=0.2929*x+0.5858*x1+0.2929*x2-0.5858*y1-0.2929*y2;x2=x1;x1=x;y2=y1;y1=y;end```将待滤波的数字信号传入该数字滤波器进行处理:```MATLAB% Generate test signalfs = 1000; % Sampling ratet = 0:1/fs:1; % Time vectorx = sin(2*pi*50*t) + sin(2*pi*120*t) + sin(2*pi*200*t); % Apply IIR filtery = IIR_filter(x);% Plot resultsfigure;subplot(2,1,1);plot(t, x);title('Original Signal');xlabel('Time');ylabel('Amplitude');subplot(2,1,2);plot(t, y);title('Filtered Signal');xlabel('Time');ylabel('Amplitude');```分析滤波后的信号的频率响应和时域响应,并进行性能评价。

IIR数字滤波器的设计及软件实现之欧阳理创编

IIR数字滤波器的设计及软件实现之欧阳理创编

IIR数字滤波器的设计及软件实现一.时间:2021.03.05 创作:欧阳理二.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会用MATLAB信号处理工具箱中的滤波器设计函数(或滤波器设计分析工具FDAtool)设计各种滤波器,学会根据滤波需求确定滤波器指标参数;(3)掌握IIR数字滤波器的MATLAB实现方法;(4)通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

三.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性不变法),应用最广泛的是双线性变换法。

基本的设计过程是:将给定的数字滤波器指标转换成模拟滤波器的指标;涉及模拟滤波器;将模拟滤波器的系统函数转换成数字滤波器的系统函数。

MATLAB 信号处理工具箱中的各种IIR 数字滤波器设计函数都是采用双线性变换法。

本实验的数字滤波器的MATLAB 实验是调用MATLAB 信号处理工具箱的函数filter 对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n).四.实验内容及步骤1.信号处产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动回图显示st 的时域波形和幅频特性曲线,由后图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可通过滤波的方法在频域分离。

2.将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

且滤波器的通带最大衰减为0.1dB ,阻带最小衰减为60bB 。

提示:抑制载波单频调幅信号的数学表示式为()()()()()()[]t t t t t s f f f f f f c c c 0002cos 2cos 212cos 2cos )(++-==ππππ其中,()t fc2cosπ称为载波,f c为载波频率,()t f2cosπ称为单频调制信号,f0为调制正弦波信号频率,且满足fc>f0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 IIR数字滤波器设计及软件实现一、实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR数字滤波器的MATLAB实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

二、实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求同学调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

三、实验内容及步骤(1)调用信号产生函数mstg,产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1-1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1-1 三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

提示:抑制载波单频调幅信号的数学表示式为0001()cos(2)cos(2)[cos(2())cos(2())]2c c c s t f t f t f f t f f t ππππ==-++ 其中,cos(2)c f t π称为载波,f c 为载波频率,0cos(2)f t π称为单频调制信号,f 0为调制正弦波信号频率,且满足0c f f >。

由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率f c 对称。

所以,1路抑制载波单频调幅信号的频谱图是关于载波频率f c 对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。

容易看出,图1-1中三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。

如果调制信号m(t)具有带限连续频谱,无直流成分,则()()cos(2)c s t m t f t π=就是一般的抑制载波调幅信号。

其频谱图是关于载波频率f c 对称的2个边带(上下边带),在专业课通信原理中称为双边带抑制载波 (DSB-SC) 调幅信号,简称双边带 (DSB) 信号。

如果调制信号m(t)有直流成分,则()()cos(2)c s t m t f t π=就是一般的双边带调幅信号。

其频谱图是关于载波频率f c 对称的2个边带(上下边带),并包含载频成分。

(3)编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。

(4)调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n),并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。

4.信号产生函数mstg清单function st=mstg%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N为信号st的长度。

Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%====以下为绘图部分,绘制st的时域波形和幅频特性曲线==================== subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')5.实验程序框图如图1-2所示,图1-2 实验一程序框图四、滤波器参数及实验程序清单1、实验程序清单%实验一程序exp4.m% IIR数字滤波器设计及软件实现clear all;close allFs=10000;T=1/Fs; %采样频率%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号stst=mstg;%低通滤波器设计与实现=========================================fp=280;fs=450;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay1t=filter(B,A,st); %滤波器软件实现% 低通滤波器设计与实现绘图部分figure(2);subplot(3,1,1);myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线yt='y_1(t)';subplot(3,1,2);tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形%带通滤波器设计与实现====================================================fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay2t=filter(B,A,st); %滤波器软件实现% 带通滤波器设计与实现绘图部分(省略)%高通滤波器设计与实现================================================fp=890;fs=600;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp[B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip计算椭圆带通DF系统函数系数向量B和Ay3t=filter(B,A,st); %滤波器软件实现% 高低通滤波器设计与实现绘图部分(省略)五、实验程序运行结果实验一程序exp4.m运行结果如图1-3所示。

由图可见,三个分离滤波器指标参数选取正确,损耗函数曲线达到所给指标。

分离出的三路信号y1(n),y2(n)和y3(n)的波形是抑制载波的单频调幅波。

(a) 低通滤波器损耗函数及其分离出的调幅信号y 1(t)(b) 带通滤波器损耗函数及其分离出的调幅信号y 2(t)(c)高通滤波器损耗函数及其分离出的调幅信号y 3(t)图1-3 实验一程序exp4.m 运行结果六、简要回答思考题1.思考题(1)请阅读信号产生函数mstg ,确定三路调幅信号的载波频率和调制信号频率。

第1路调幅信号的载波频率Hz c 1000f 1=;第1路调幅信号的调制频率HZ m 100f 1=;第2路调幅信号的载波频率Hz 500f c2=;第2路调幅信号的调制信号频率Hz 50f m2=;第3路调幅信号的载波频率Hz 250f c3=;第3路调幅信号的调制信号频率Hz 25f m3=;(2)信号产生函数mstg 中采样点数N=800,对st 进行N 点FFT 可以得到6根理想谱线。

如果取N=1000,可否得到6根理想谱线?为什么?N=2000呢?请改变函数mstg 中采样点数N 的值,观察频谱图验证您的判断是否正确。

采样点数N=800和N=2000时,对st 进行N 点FFT 可以得到6根理想谱线。

如果取N=1000,不是400的整数倍,不能得到6根理想谱线。

相关文档
最新文档