实验四IIR和FIR数字滤波器设计及软件实现实验报告 下载本文

内容发布更新时间 : 2024/12/23 12:10:25星期一 下面是文章的全部内容请认真阅读。

.

果 调 制 信 号

m(t) 具 有 带 限 连 续 频 谱 , 无 直 流 成 分 , 则

s(t ) m(t )cos(2 f ct) 就是一般的抑制载波调幅信号。其频谱图是关于载

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

制信号 m(t) 有直流成分,则 s(t)

m(t )cos(2 fct ) 就是一般的双边带调幅

信号。其频谱图是关于载波频率

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_2)

( 1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计

FIR

数字滤波器的原理;

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

.

.

图 具有加性噪声的信号 x(t) 及其频谱如图

( 3)请设计低通滤波器, 从高频噪声中提取 xt 中的单频调幅信号,要求信号幅频失真小于 0.1dB,将噪声频谱衰减 60dB。先观察

xt 的频谱,确定滤波器指标参数。

( 4)根据滤波器指标选择合适的窗函数,计算窗函数的长度

N,

调用 MATLAB函数 fir1 设计一个 FIR 低通滤波器。并编写程序, 调用 MATLAB快速卷积函数 fftfilt

实现对 xt 的滤波。绘图显示滤波器的

频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。

( 4)重复( 3),滤波器指标不变,但改用等波纹最佳逼近法,调用 MATLAB函数 remezord 和 remez 设计 FIR 数字滤波器。并比较两种设计方法设计的滤波器阶数。

提示: 1 MATLAB函数 fir1 和 fftfilt

查阅本书第 7 章和第 8 章;

的功能及其调用格式请

.

.

○2采样频率 Fs=1000Hz,采样周期 T=1/Fs;

○3根据图 10.6.1(b)和实验要求, 可选择滤波器指标参数: 通带

截止频率 fp=120Hz,阻带截至频率 fs=150Hz,换算成数字频率,通

带截止频率

p

2 f p 0.24

,通带最大衰为 0.1dB ,阻带截至频率

s

2 f s0.3 ,阻带最小衰为 60dB。]

○4 实验程序框图如图 10.5.2 所示,供读者参考。

Fs=1000,T=1/Fs

xt=xtg

产生信号 xt, 并显示 xt 及其频谱

用窗函数法或等波纹最佳逼近法

设计 FIR 滤波器 hn

对信号 xt 滤波: yt=fftfilt(hn,xt)

1、计算并绘图显示滤波器损耗函数 2、绘图显示滤波器输出信号

yt

End

四、 Matlab 源代码、实验结果图像和结果分析

(实验 4_1)

实验代码(函数部分单独分出来) :

( mstg 函数):

.

.

function st=mstg

%产生信号序列变量 st, 并显示 st 的时域波形和频谱

%st=mstg 返回三路调幅信号相加形成的混合信号,长度

N=1600

N=1600;

Fs=10000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fc1=Fs/10; fm1=fc1/10; fc2=Fs/20; fm2=fc2/10; fc3=Fs/40; fm3=fc3/10;

xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); st=xt1+xt2+xt3;

fxt=fft(st,N); %

subplot(3,1,1);

plot(t,st);grid;xlabel(

't/s' );ylabel(axis([0,Tp/8,min(st),max(st)]);title(

subplot(3,1,2);

.

%

's(t)' '(a) s(t)

);

的波形 ' );