数字信号处置实验讲义.docx
- 文档编号:623186
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:16
- 大小:92.32KB
数字信号处置实验讲义.docx
《数字信号处置实验讲义.docx》由会员分享,可在线阅读,更多相关《数字信号处置实验讲义.docx(16页珍藏版)》请在冰豆网上搜索。
数字信号处置实验讲义
王实验一离散信号的matlab实现
一、实验目的
1、熟悉matlab软件,学会matlab语言的编写
2、利用matlab软件产生一些常见的离散信号
3、掌握用matlab软件作信号的相关分析
二、实验环境
运算机操作系统、matlab软件
三、实验内容
一、用matlab程序产生下列离散信号或持续信号,并画出其波形。
a单位抽样序列的产生
参考程序:
N=100;
x=zeros(1,N);产生一个1行N列值全为0的矩阵,如看成数组x
(1)-x(100)都为0
x
(1)=1;
n=0:
N-1;
stem(n,x);
产生序列
参考程序:
N=100;
x=zeros(1,N);
k=20;
x(k+1)=1;
xn=0:
N-1;
stem(xn,x);
b单位阶跃序列的产生
参考程序:
N=32;
x=ones(1,N);产生一个1行N列值全为1的矩阵
n=0:
N-1;
stem(n,x);
产生序列
参考程序:
N=32;
k=20;
x1=zeros(1,k);
x2=ones(1,N-k);
x=[x1,x2];
xn=0:
N-1;
stem(xn,x);
c模拟信号
,以t=(n=0:
N-1)进行采样后的离散信号。
参考程序:
N=128;n=[0:
N-1];
t=*n;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
figure
(1);
subplot(211);
stem(t,x);
subplot(212);
stem(n,x);
d产生一个sinc(t)=sint/t抽样函数
参考程序:
n=200;
step=4*pi/n;
t=-2*pi:
step:
2*pi;
y=sinc(t);
plot(t,y,t,zeros(size(t)));%同时画出y(t)和横轴
gridon;
plot(t,y,t,zeros(size(t)),zeros(size(y)),y);%同时画出y(t)和横轴、纵轴
e方波信号square(t)square(t,duty)产生周期是2pi,幅度为正负1的方波,duty占空比,高电平跟整个周期的比值
参考程序:
t=0:
:
2*pi;
y=square(t,3);
plot(t,y);
试产生一个周期为1,高低电平别离为半个周期的方波信号
二、相关分析去除噪声
x(n)=sin(2*pi*n)+u(n)噪声为高斯散布白噪声,利用相关分析去除噪声,噪声1功率为1,噪声2功率为
%rxy=xcorr(x,y);
%rx=xcorr(x,Mlag,'flag')Mlag表示rx的单边长度,总长度为2Mlag+1,flag---'biased'rx(m)/N--unbiasedrx(m)/(N-abs(m))
参考程序:
N=500;
p1=1;
p2=;
f=1/8;
Mlag=60;
u=randn(1,N);
u2=u*sqrt(p2);
n=[0:
N-1];
s=sin(2*pi*f*n);
x1=u(1:
N)+s;
rx1=xcorr(x1,Mlag,'biased');
subplot(211);
plot(-Mlag:
Mlag,rx1);
x2=u2(1:
N)+s;
rx2=xcorr(x2,Mlag,'biased');
subplot(212);
plot(-Mlag:
Mlag,rx2);
3.书后习题
实验二、离散信号的傅里叶变换
一、实验目的
1、进一步熟悉matlab软件的利用,熟悉matlab的编程语言
2、用matlab语言编写程序进行离散信号的傅里叶分析
二、实验原理
设离散序列
,长度为N,其DTFT概念为:
在实际计算中无法取到无穷长序列,通常通过无穷长序列加窗作有限长序列的DTFT。
三、实验内容
试求序列
,其中n=0,1,……,N-1,N=12的DTFT。
并画出其幅频特性曲线和相频特性曲线。
若N=24,36,120,其幅频特性曲线和相频特性曲线如何转变,为何?
参考程序:
N=12;
n=[0:
1:
N-1];
xn=cos(n*pi/6);
w=0:
:
2*pi;
M=length(w);
xejw=zeros(1,M);
fori=0:
1:
N-1
xejw=xejw+cos(i*pi/6)*exp(-j*w*i);
end;
xr=abs(xejw);
xphase=angle(xejw);
subplot(211);
plot(w,xr);
subplot(212);
plot(w,xphase);
实验三、FFT频谱分析及应用
一.实验目的
一、通过实验,加深对FFT的理解,熟悉FFT子程序
二、熟悉应用FFT对典型信号进行频谱分析的方式
二、实验原理与方式
在各类信号序列中,有限长序列占有重腹地位,对有限长序列,能够利用离散傅里叶变换(DFT)进行分析。
DFT不但能够专门好地反映序列的频谱特性,而且易于用快速算法(FFT)在运算机上实现。
设离散序列
,长度为N,其DFT概念为:
k=0,1,2……,N-1
有限长序列的DFT是其Z变换在单位圆上的等距采样,因此能够用于序列的谱分析。
FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常常利用的FFT是以2为基数的,其长度
。
它的效率高,程序简单,利用方便。
当要变换的序列长度不等于2的整数次方时,为了利用以2为基数的FFT,能够用末尾补零的方式,使其长度延长至2的整数次方。
在MATLAB中,能够用函数FFT来实现。
格式:
y=FFT(x)
y=FFT(x,n)
说明:
y=FFT(x)为利用FFT算法计算矢量的离散傅里叶变换,当x为矩阵时,y为矩阵x每一列的FFT。
当x的长度为2的整数次方时,则FFT函数采用基2的FFT算法,不然采用稍慢的混合基算法。
y=FFT(x,n)采用n点FFT。
当x的长度小于n时,FFT函数在x的尾部补零,以组成n点数据;当x的长度大于n时,FFT会截断序列x。
三、实验内容
一、模拟信号
,以
进行采样。
求
(1)N=40点FFT的幅度频谱,从图中,可否观察出信号的2个频率分量?
(2)提高采样点数,如N=128,再求该信号的幅度频谱,现在幅度频谱发生了什么转变?
信号的2个模拟频率和数字频率各为多少?
FFT频谱分析结果与理论上是不是一致?
二、研究高密度频谱与高分辨率频谱
设有持续信号
以采样频率
对信号
采样,分析下列三种情形的幅频特性。
(1)采样数据长度N=16点,做N=16的FFT,并画出幅频特性
(2)收集数据长度N=16点,补零到256点,做256点的FFT,并画出幅频特性
(3)采样数据长度N=256点,做N=256的FFT,并画出幅频特性。
参考程序:
N=40;
n=[0:
N-1];
t=*n;
x=2*sin(4*pi)+5*cos(8*pi*t);
k=[0:
1:
N/2];
w=2*pi/N*k;
X=fft(x,N);
magx=abs(X(1:
1:
N/2+1);
subplot(211);stem(n,x);title(‘signalx(n)’);
subplot(212);plot(w/pi,magx);title(‘fftN=40’);
xlabel(‘频率(单位:
pi)’);
ylabel(‘|X|’);
grid;
取N=128时,程序参考以上程序.
实验内容2的程序参考以上程序.
实验四、IIR数字滤波器的设计
一实验目的
1、掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的具体方式和原理,熟悉双线性变换法和脉冲响应不变法设计低通,带通IIR数字滤波器的运算机编程.
2、观察双线性变换法和脉冲响应不变法设计的数字滤波器的频域特性,了解双线性变换法和脉冲响应不变法的特点和区别.
3、熟悉Butterworth滤波器和Chebyshev滤波器的频率特性.
二实验原理与方式
本实验利用模拟滤波器设计IIR数字滤波器,这是IIR数字滤波器设计最常常利用的方式.利用模拟滤波器设计,需要将模拟域的
转换为数字域的
最常常利用的转换方式为脉冲响应不变法和双线性变换法.
1、脉冲响应不变法
用数字滤波器的单位脉冲响应序列
仿照模拟滤波器的冲激响应
让
正好等于
的采样值,即:
其中T为采样距离,若是以
及
别离表示
的拉氏变换及
的z变换,则:
在MATLAB中,可用函数impinvar实现从模拟滤波器到数字滤波器的脉冲响应不变映射,挪用格式为:
[b,a]=impinvar(c,d,fs)
[b,a]=impinvar(c,d)
其中,c、d别离为模拟滤波器的分子和分母多项式系数向量,fs为采样频率(Hz),缺省值fs=1Hz,b、a别离为数字滤波器分子和分母多项式系数向量。
例:
已知
,T=,利用脉冲响应不变法求H(z)
MATLAB程序:
c=[21];d=[123];T=;
[b,a]=impinvar(c,d,1/T);
执行结果:
b=
a=1
数字滤波器为:
2、双线性变换法
S平面与z平面之间知足下列映射关系:
S平面的虚轴映射在z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。
双线性变换不存在频率混叠问题。
在MATLAB中,提供了一个叫做bilinear的函数实现这种映射,挪用格式为:
[b,a]=bilinear(c,d,fs)
双线性变换是一种非线性变换,即
,这种非线性引发的幅频特性畸变可通过预畸取得校正。
3、一般设计步骤
(1)给定技术指标转换为模拟低通原型设计性能指标。
(2)估量知足性能指标的模拟低通原型阶数和截止频率。
利用MATLAB中buttord、cheb1ord、cheb2ord、ellipord等函数,挪用格式如:
[n,wn]=buttord(wp,ws,rp,rs,’s’)
(3)设计模拟低通原型
利用MATLAB中buttap、cheb1ap、cheb2ap、ellipap等函数,挪用格式如:
[z,p,k]=buttap(n)
采用上述函数所取得原型滤波器的传递函数为零点、极点、增益形式,需要和函数
[c,d]=zp2tf(z,p,k)配合利用,以转化为多项式形式。
(4)由模拟低通原型经频率变换取得模拟低通、高通、带通或带阻滤波器。
利用MATLAB中lp2lp、lp2hp、lp2bp、lp2bs等函数,挪用格式如:
[c1,d1]=lp2lp(c,d,wn)
(5)利用脉冲响应不变法或双线性不变法,实现模拟滤波器到数字滤波器的映射。
说明:
MATLAB信号处置工具箱还提供了模拟滤波器设计的完全工具函数:
butter、cheby一、cheby二、ellip、besself。
用户只需一次挪用就可自动完成以上设计步骤中的3-4步,挪用格式如:
[c,d]=butter(n,wn,’ftype’,’s’)
三、实验内容
一、已知fp=,rp=,fs=,rs=20db,T=1ms,利用双线性变换法设计一个chebyshevI型数字高通滤波器,观察通带损耗和阻带衰减是不是知足要求。
依照要求写出matlab程序,并附上所设计的滤波器传递函数H(z)及相应的幅频特性曲线。
二、要求fp=,rp=1db,fs=,rs=25db,T=1ms,别离用脉冲响应不变法和双线性变换法设计一个butterworth数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处置 实验 讲义