第一实验室:基础实验篇(matlab)_第1页
第一实验室:基础实验篇(matlab)_第2页
第一实验室:基础实验篇(matlab)_第3页
第一实验室:基础实验篇(matlab)_第4页
第一实验室:基础实验篇(matlab)_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一实验室:基础实验篇

第I部分基本训练题目

第n部分简介各题目的原理、程序、效果

第ni部分基研训练程序软件压缩文件

第I部分基本训练题目

1-1-1序列的图示方法DSP1101

1-1-2连续信号及采样信号的图示方法DSP1102

1-1-3单位冲激序列函数impseq

单位冲激序列图示DSP1103

1-1-4单位阶跃序列函数stepseq

单位阶跃序列图示DSP1104

1-1-5矩形序列R,v(〃)及图示DSP1105

1-1-6实指数序列小£(”)及图示DSP1106

1-1-7正弦序列sin(«y*〃)及图示DSP1107

1-1-8复指数序列及图示DSP1108

1-1-9周期序列x(〃)=x(〃+N)及图示DSP1109

1-1-10常用5种连续信号及图示DSP1110

1-1-11离散序列的运算DSP1111

1-1-12输入序列x(〃)与系统冲激响应//(〃)的卷积com/(x,〃)DSP1112

1-1-13非零起点时两信号的卷积co〃”〃(x,/0DSP1113

1-2-1指数序列X(")=0.8"£(/J)的离散时间傅立叶变换DSP1201

1-2-2矩形序列R,v5)的离散时间傅立口卜变换DSP1202

1-2-3离散时间傅立叶变换的性质DSP1203

1-2-4正弦序列输入,输出为正弦序列,幅度相位因HO。)变化DSP1204

1-2-5模拟信号&«)=6-网"付氏变换与采样信号的离散时间傅立叶变换

DSP1205

1-3-1N点离散傅立叶变换dft(xn,N)

1-3-2N点离散傅立叶反变换idft(xn,N)

1-3-3DFT与x(〃)的Z变换关系DSP1303

1-3-4DFT与x(〃)的离散时间傅立叶变换的关系DSP1304

1-3-5有限长序列添零填充,得高密度DFT,离散时间付氏频谱不变DSP1305

1-3-6采样点增多的高分辨率DFT,采样点数少仅添零的高密度DFTDSP1306

1-3-7DFT的圆周移位函数cirshftt

1-3-8DFT圆周移位实例DSP13O8

1-3-9圆周卷积DSP1309

1-3-10复共甄序列的DFTDSP1310

1-3-11DFT的共趣对称性DSP1311

1-3-12补零填充实现线性卷积DSP1312

1-3-13重迭保留法实现线性卷积DSP1313

1-3-14重迭保留实现函数ovrlpsav

1-3-15DET对连续信号作近似谱分析:滤高频,避免混迭频谱;截高时;变有

限长序列,避免泄漏频谱DSP1315

1-3-16采样点为100,进行200点DFT,对"2(f)进行谱分析DSP1316

1-3-17实序列的奇偶分解及DFT的虚实分量DSP1317

1-3-18实序列的奇偶分解函数DSP1318

1-3-19用FFT分析信号频率成分DSP1319

1-3-20用FFT分析语言信号的频谱DSP1320

1-3-21DCT变换DSP1321

1-3-22用DCT变换进行语言压缩DSP1322

1-3-23线性调频Z变换DSP1323

1-3-24利用CZT计算滤波器100—150HZ频率特性的细节DSP1324

2-1-1直接型实现系统函数H(Z)的IIR数字滤波器DSP2101

2-1-2级联型实现系统H(Z)的IIR数字滤波器DSP2102

2-1-3级联型实现H(Z)的HR数字滤波器DSP2103

2-1-4直接型实现H(Z)的HR数字滤波器DSP2104

2-1-5并联型实现H(Z)的IIR数字滤波器DSP2105

2-1-6并联型DSP2106

2-1-7直接型DSP2107

2-1-8最终的级联,并联DSP2108

2-1-9直接型=>级联型dir2cas(b,a)

2-1-10级联型->直接型cas2par(bO,B,A)

2-1-11直接型一并联型dir2par

2-1-12并联型-直接型par2dire

2-1-13并联型f级联型casfilter

2-1-14级联型f并联型parfilter

2-2-1FIR直接型滤波器DSP2201

2-2-2FIR级联型滤波器DSP2202

2-2-3FIR的频率取样形式结构DSP2203

2-2-4(原例11)由频率样本

I*=0,1,2

0.5y

{0&=4,5,……15

求频率采样形式,及单位冲激响应力(〃)DSP2204

2-2-5窄带滤波器中的频率采取滤波器是由直接型转换为频率采样型

dir2fs(n)

3-1-1偶对称奇序列的1.型FIR滤波器的振幅响应hr_typel

3-1-2偶对称奇序列的|〃3)|及零极点分布DSP3102

3-1-3偶对称偶序列的H型FIR滤波器的振幅响应hr_type2

3-1-4偶对称偶序列的|”(时及零极点分布DSP3104

3-1-5奇对称奇序列的III型FIR滤波器的振幅响应hr_type3

3-1-6奇对称奇序列的|〃(砌及零极点分布DSP3106

3-1-7奇对称偶序列的IV型FIR滤波器的振幅响应hr_type4

3-1-8奇对称偶序列的|"(。)|及零极点分布DSP3108

3-1-9线性相位FIR滤波器的零点位置有4种可能DSP3109

3-1-10常用加窗函数DSP3210

3-1-11对信号用加窗函数的DFT分析频谱DSP3211

3-2-1计算理想低通滤波器的儿(〃)DSP3201

3-2-2计算FIR滤波器的绝对和相对的幅度响应DSP3202

3-2-3提取大于50dB衰减的汉明窗FIR低通滤波器DSP3203

3-2-4理想高通,偶对称因果序列,N为奇的窗函数,滤波器的单位冲激响应

hd(〃)DSP3204

3-2-5汉宁窗,44dB最小阻带衰减,过度带6.2%DSP3205

3-2-6理想高通,奇对称因果序列,N为偶的窗函数,滤波器的单位冲激响应

hd(〃)DSP3206

3-2-7汉宁窗,44dB最小阻带衰减,过度带6.2%DSP3207

3-2-8理想高通,偶对称因果序列,N为奇的窗函数,滤波器的单位冲激响应

hd(〃)DSP3208

3-2-9设计一个数字FIR带通滤波器DSP3209

3-2-10理想带通数字滤波器的频率响应〃d(e")DSP3210

3-2-11设计一个具有工相移的数字FIR带通滤波器DSP3211

2

3-2-12理想带阻,偶对称因果序列,N为奇的窗函数,滤波器的单位冲激响

应川(n)ideal-be()

3-2-13设计一个数字FIR带阻滤波器DSP3213

3-3-1采样点。=0处的频率采样法DSP33O1

3-3-2在过渡带上加两个T1和T2DSP3302

3-3-3设计2型FIR低通滤波器DSP3303

3-3-4设计1型FIR高通滤波器DSP3304

3-3-5设计4型FIR高通滤波器DSP3305

3-3-6设计2型FIR带通滤波器DSP3306

3-3-7设计1型FIR带阻滤波器DSP3307

3-3-8设计1型FIR低通滤波器DSP3308

3-3-9设计1型FIR高通滤波器DSP3309

3-3-10设计4型FIR高通滤波器DSP3310

3-3-11设计3型FIR带通滤波器DSP3311

3-4-1用频率响应采样法1设计具有线性相位DSP3401

3-4-2用窗函数法设计具有线性相位DSP3402

3-4-3用频率采样法1设计低通滤波器对其进行除噪DSP3403

4-1-1在MATLAB中用afdbutt(Omegap,Omegar,Ap,Ar)函数来设计巴特沃斯

模拟低通滤波器DSP4101

4-1-2若设计非归一化(Q,W1)巴特沃斯模拟低通滤波器原型DSP4102

4-1-3freqs_m(b,a,Omegajnax)函数DSP4103

4-1-4sdir2cas函数DSP4104

4-1-5设计一个巴特沃斯模拟滤波器DSP4105

4-2-1用来实现N阶、通带波动为8的归一化切比学夫1型模拟低通滤波器

DSP4201

4-2-2根据技术指标设计切比学夫1型模拟滤波器DSP4202

4-2-3设计一个低通切比学夫1型滤波器DSP4203

4-2-4设计归一化切比学夫2型模拟滤波器DSP4204

4-2-5根据给定指标设计切比学夫2型模拟滤波器DSP4205

4-2-6设计一个切比学夫2型低通滤波器DSP4206

4-3-1用imp_invr函数实现脉冲响应不变法DSP4301

4-3-2设计一个巴特沃斯模拟滤波器DSP4302

4-3-3设计低通数字滤波器DSP4303

4-3-4设计低通数字滤波器DSP4304

4-4-1双线性变换法设计低通数字滤波器DSP4401

4-4-2切比雪夫滤波器原型用双线性变换法设计低通数字滤波器DSP4402

4-5-1

4-5-2

4-5-3

4-5-4分别设计一个巴特沃斯滤波器和切比雪夫高通滤波器DSP4504

4-5-5分别设计一个巴特沃斯滤波器和切比雪夫高通滤波器DSP4505

4-5-6设计一个巴特沃斯带通滤波器DSP4506

4-5-7设计一个切比雪夫带通滤波器DSP4507

4-5-8设计一个滤波器DSP4508

4-5-9设计一个滤波器DSP4509

4-5-10设计一个滤波器DSP4510

4-6-1zamppingDSP4601

4-6-2用zmapping函数实现例11中的高通滤波器DSP4602

4-6-3切比雪夫1型高通数字滤波器,上述过程由chebhpf函数实现DSP4603

4-6-4用数字频域变换法,设计一个切比雪夫1型高通数字滤波器DSP4604

4-6-5用双线性变换法设计低通滤波器DSP4605

4-6-6用脉冲响应不变法设计的低通滤波器对其除噪DSP4606

4-6-7模拟信号DSP4607

5-1-1下采样DSP5101

5-1-2例题DSP51O2

5-1-3上采样DSP51O3

5-1-4程序DSP5104

5-1-5采样率的非整数倍转换DSP51O5

5-1-6程序DSP5106

5-1-7例题DSP5107

5-1-8用傅立叶变换对信号进行消噪声处理DSP51O8

5-1-9信号特定频率的提取DSP5109

5-1-10例题DSP5110

5-1-11信号特定频率区间的抑制DSP5111

第n部分简介各题目的原理、程序、效果

1-1-1序列的图示方法DSP1101

原理:数字信号处理中,所有信号都是离散时间信号——序列。

x(n)={…,x(T),x(0),x(l),…}

如果*(11)={0,5,7,9,6,3,2,1},-K=n<=6o

程序:

n=-l:6;%序列的序号依兴次取1至6的各整数

X=[0,5,7,9,6,3,2,1];%对应序号的序列各值

stem(n,x);%调绘离散序列函数

图形如下:

1-1-2连续信号及采样信号的图示方法DSP1102

原理:例y(f)=sin(2疥)+2$皿2啊),当fl=50HZ,f2=120HZ,

fs=1000HZ时的信号为y(〃)=sin(W"〃)+2sin(如"〃)。

10001000

程序:

fl=50;f2=120;fs=1000;立s表采样频率

t=0:l/fs:l;n=t*fs;%时刻土从0至1,步长为1/fs

y=sin(2*pi*fl*t)+2*sin(l*pi*f2*t);

subplot(211);plot(t(1:50),y(1:50));title('y(t)');

subplot(212);stem(n(l:50),y(1:50));title(,y(n)');

图形如下:

1-1-3单位冲激序列函数impseq

单位冲激序列图示DSP1103

原理:产生可以用函数impseq

function[x,n]=impseq(n0,nl,n2)

n=[nl:n2];%n取从nl至n2的各整数

x=[(n-n0)==0];%n仅当n=n0时x值为1,其它x值为0

单位冲激序列图示DSP1103

nl=-4;%指定参数

n2=6;

n0=2;

impseq(n0,nl,n2);%调用函数

stem(n,x)

1-1-4单位阶跃序列stepseq

单位阶跃序列图示DSP1104

function[x,n]=stepseq(nO,nl,n2)

n=[nl:n2];%n取从nl至n2的各整数

x=[(n-n0)>=0];%n当n>=n0时x值为1,其它x值为0

单位阶跃序列图示DSP114

nl=-4;

n2=10;

n0=2;

stepseq(n0,nl,n2);

stem(n,x)

1-1-5矩形序列RN(II)及图示DSP1105

n=[nl:n2];%n取从nl至n2的各整数

x=[n>=0&n<=N-l];%当n在0至N-l时x值为1,其它x值为0

nl=-5;

n2=20;

N=8;

stem(n,x)

1-1-6单边实指数序列a"e(n)及图示DSP1106

N=30;

n=0:N-l;

x=a.An;

stem(n,x);

1-1-7单边正弦序列sin@*〃)£(〃)及图示DSP1107

N=50;

<y=0.01;

n=0:N-l;

x=sin(/*n);;

stem(n,x);

1-1-8单边复指数序列加)*〃£(〃)及图示DSP1108

N=50;

。=0.01;

。二一0.2;

n=0:N-l;

x=exp((cr+jco)*n);;

stem(n,x);

1-1-9周期序列x(〃)=x(n+N)及图示DSP1109

n=-l:6;

xl=[0,5,7,9,6,3,2,l];

x=[xlxlxl];%xl是x中的一个周期,要产生3个周期的x序列

stem(n,x);

1-1-10常用5种连续信号的图示DSP1110

t=0:0.0001:0.2;

x=sawtooth(2*pi*50*t,l);%调用锯齿波函数

subplot(3,2,l),plot(t,x);%调绘连续曲线函数

x=sawtooth(2*pi*50*t,0.5);%调用三角波函数,与锯齿波差异仅参数由1变0.5

subplot(3,2,2),plot(t,x);

x=square(2*pi*50*t);%调用方波函数

subplot(3,2,3),plot(t,x);axis([0,0.2,-1.5,1.5]);%后者指定x、y轴取值范围

x=tripuls(t,0.1);%调用非周期三角波函数

subplot(3,2,4),plot(t,x);axis([0,0.2,-0.1,1.1]);%后者指定宽度0.1,为正轴值二倍

x=rectpuls(t,0.1);%调用非周期方波函数

subplot(3,2,5),plot(t,x);axis([0,0.2,-0.1,1.1]);

t=-5:0.1:5;x=sinc(t);

subplot(3,2,6),plot(t,x);axis([-5,5-0.4,1.1]);

结果图待补

1-1-11离散序列的运算DSP1111

n=nl:n2;

Xa(n)=Xi(n)+X2(n);%信号xl(n)与x2相加

xl(n)x2

Xb(n)=X](n)*X2(n)-%信号与相乘

Xc(n)=a*Xi(n);

Xd(n)=fliplr(X|(n));

Xc(n)=sum(x(nl:n2));

Xf(n)=proa(X(nl:n2));

A

Xg(n)=sum(abs(X)2);

Xh(n)=X((n1-m):(n2-m));

subplot(2,5,1),stem(n,Xi);

subplot(2,5,2),stem(n,X2);

subplot(2,5,3),stem(n,Xa);

subplot(2,5,4),stem(n,XJ;

subplot(2,5,5),stem(n,Xc);

subplot(2,5,6),stem(n,Xj);

subplot(2,5,7),stem(n,Xe);

subplot(2,5,8),stem(n,X1);

subplot(2,5,9),stem(n,Xg);

subplot(2,5,10),stem(n,Xh);

1-1-12输入序列x(n)=£(〃)一2(〃-10)与冲激响应h(n)=0.8〃外九)卷积DSP1112

x=[ones(l,10)]:%输入为矩形脉冲序列X(〃)=£(〃)-10),为一行10列向量

Nl=length(x);nl=0:Nl-l;%序列长度为N1

N2=20;n2=0:N2-l;

h=0.8.*n2;%冲激响应力(〃)=0.8"£(〃)

N=Nl+N2-l;n=0:N-l;

y=conv(x,h);%调用卷积函数,x、h是参数

subplot(311);stem(nl,x);

subplot(312);stem(n2,h);

subplot(313);stem(n,y);

结果待补

1-1-13非零起点时两信号的卷积山7)

非零起点时两信号的卷积图示DSP1113

若x,h的起点不为0,则用conv-m计算卷积。

function[y,ny]=convm(x,nx,h,nh)

nyb=nx(l)+nh(l);%两信号起始序号相加,作为输出的起始序号

bye=nx(length(x))+nh(length(h));%两信号终止序号相加,作输出终止序号

ny=[nyb,bye];为卷积的序号各值

y=conv(x,h);

程序DSP1113

x=[3,11,7,0-1,4,2];

nx=[-3:y\\

//=[2,3,0.-5,2,1];

nh=[-1:4];

=conv-m(x,nx,h,nh]

运行结果为

y=[6,31,47,6,-5,41,18-22-3,8,2];ny=[-4:7];

1-2-1指数序列x(〃)=082(〃)的离散时间傅立叶变换DSP1201

研究序列x(〃)=082(〃)的离散傅立叶变换。

解:x(n)是绝对可和的,因此它的DTFT存在。

iwiwnjjw

X(e)=e=e7(e-0.8)

n=-<®

流程图如图示

/送入n,x7

将区间口0,2刀]分成501点

送入X

/▼

magX=abs(x);angX=angle(X)

数据输出

程序实现如下:

n=0:50;x=(0.8).n;

subplot(221);stem(n,x);title('输入序列');

w=[0:l:500]*2*pi/500;

X=exp(j*w)./(exp(j*w)-0.8*ones(l,501));

magx=abs(X);angx=angle(X);

subplot(223);plot(w/pi,magx);

xlabelC以pi为单位的频率');title('离散时间傅立叶变换幅度');

subplot(224);plot(w/pi,angx);

xlabelC以pi为单位的频率');title('离散时间傅立叶变换相位');

离散时间傅立叶变换幅度商散时向傅立叶变换相位

以a为单位的频率以P,为单位的频率

1-2-2矩形序列RN(〃)的离散时间傅立叶变换DSP1202

sin(—)

原理:X(,e)=£RNSW=——J2,设N_=7

J八(0

—sin(y)

程序:

N=7;n=0;x=[ones(1,N);

k=0:199;w=(pi/100)*k;%将0至2%轴分为200点

X=x*(exp(-j*pi/100).Nn,*k);%用矩阵向量乘法求DTFT

MagX=abs(X);angX=angle(X);

subplot(3J,l),stem(n,x);

subplot(3,1,2),plot(w/pi,magX);

subplot(3,1,3),plot(w/pi,angX/pi);

结果待补

1-2-3离散时间傅立叶变换的性质DSP1203

暂缺

1-2-4正弦序列输入,输出为正弦序列,幅度相位因"(e"")变化DSP1204

线性时不变系统,当输入为正弦序列时,则输出也为同频正弦序列,其幅度和相

位受H(e」*)影响。

流程图

图1.

程序实现如下:

b=[l,O.5];a=[l.-O.5];

d=impseq(O,0,30);

n=0:30;%在0<=n<=30之间,h(n)截取有限长度

x=cos(0.2*pi*m+pi/4);

h=filter(b,a,d);

y=filter(b,a,x);w=[0:500]*2*pi/500;

w=[0:500]*2*pi/500;

H=freqz(b,a,w);

M=abs(H);A=angle(H);

subplot(231);stem(n,d);title。单位脉冲响应');

subplot(234);stem(n,h);title('单位脉冲响应');

subplot(233);stem(n,x);title('输入信号’);

subplot(236);stem(n,y);title('输出信号');

subplot(232);plot(w/pi,M);title('幅度响应');

subplot(235);plot(w/pi,A/pi);title(J相位响应');

1-2-5模拟信号4。)二-m00"付氏变换与采样信号的离散时间傅立叶变换DSPI205

令x,、(t)=/a则,求出并绘制其傅立叶变换Xa(jQ)。用f,=5kHz进行采样,

求出并画出离散时间傅立叶变换X(e')。

程序实现如下:

Dt=0.00005;t=-0.005:Dt:0.005;xa=exp(-1000*abs(t));%模拟信号

Wmax=2*pi*2000;K=500;k=0:1:K;W=k*Wmax/K;

Xa=xa*exp(-j*t,*W)Wt;Xa=real(Xa);%连续时间傅立叶变换

W=[-fliplr(W),W(2:501)];%频率从TmaxtoWmax

Xa=[fliplr(Xa),Xa(2:501)];%Xa介于-Wmax和Wmax间

subplot(221);plot(t*1000,xa);xlabel('时间(毫秒)’);

ylabelCxa(t)');title('模拟信号')

subplot(222);plot(W/(2*pi*1000),Xa*lOOO);xlabelC频率(kHz)');

ylabelCXa(jw)');title。连续时间傅立叶变换')

Ts=0.0002;n=-25:1:25;x=exp(-1000*abs(n*Ts));%离散信号

K=500;k=0:l:K;w=pi*k/K;

X=x*exp(-j*n'*w);X=real(X);%离散时间傅立叶变换

w=[-fliplr(w),w(2:K+l)];

X=[fliplr(X),X(2:K+l)];

subplot(223):stem(n*Ts*1000,x);

xlabel('时间(毫秒)’);gtext('Ts=0.2毫秒');

ylabelCxl(n)();titleC离散信号')

subplot(224);plot(w/pi,X);xlabelC频率(弧度)’);

10

8

6

4

2

0

-1

频率(孤度)

1-3-1N点离散傅立叶变换dft(xn,N)

设x(n)是一个长度为N的有限长序列,定义x(n)的N点离散傅立叶变换为

N-l_

X(k)='N"k=0,1,,,,,N-l

function(txk]=dft(xn,N)

n=[0:l:N-l];%n的行向量

k=[0:l:N-l];%k的行向量

WN=exp(-j*2*pi/N);%旋转因子

nk=n'*k;%产生一个含nk值的N乘N维矩阵

WNnk=WN.-nk;%DFT矩阵

Xk=xn*WNnk;%DFT系数的行向量

1-3-2N点离散傅立叶反变换idft(Xk,N)

function[xn]=idft(Xk,N)

n=[0:1:N-1];%n的行向量

k=[0:1:NT];%k的行向量

WN=exp(-j*2*pi/N);%旋转因子

nk=n'*k;

WNnk=WN."(-nk);%DFT矩阵

xn=(Xk*WNnk)/N;%DFT系数的行向量

1-3-3DFT与x(〃)的Z变换关系DSP1303

X(k)=X(Z)|Z=ej2pik,r

序歹UDFT的物理意义:序歹Ux(n)的N点DFT是x(n)的z变换在单位圆上的

N点等间隔采样;X(k)为x(n)的离散傅立叶变换X(e")在区间[0:28]上的N点

等间隔采样。

暂缺待补充

1-3-4DFT与x(〃)的离散时间傅立叶变换的关系DSP1304

后者在区间[0,2pi]上的N个等间隔采样

暂缺待补充

1-3-5有限长序列添零填充,得高密度DFT,离散时间付氏频谱不变DSP1305

jw

例x(n)=Rf,(n),求X(e)及N分别取10,20的X(k)。

解:设N=10,则

N-192"4»sin(二A)

x⑹=2>)脏"=Z/P=k=0,1,-.9

n=o«=osin(—

10

设N=20,则

NT192»4"sin(二左)

X⑹=2>(〃)股"=Z/中=e型一k=0,1,…,19,

n=o«=osin(—A:)

20

流程图:

图1-3-5

程序实现如下:

n=0:4;x=[ones(l,5)];

Nl=10;nl=0:l:Nl-l;

N2=20;n2=0:l:N2-l;

xl=[ones(1,5),zeros(1,Nl-5)];

Xl=fft(xl,Nl);%N=10点离散傅立叶变换

magXl=abs(XI);

kl=(0:length(magXl)>-l)*Nl/length(magXl);

x2=[ones(1,5),zeros(1,N2-5)];

X2=fft(x2,N2);magX2=abs(X2);

k2=(0:length(magX2)*-1)*N2/length(magX2);

subplot(321);stem(n,x)jylabel('x(n)');

subplot(323);stem(nl,xl);ylabel('x(n)');

subplot(324);stem(kl,magXl);ylabel(J/X(k)/');

subplot(325);stem(n2,x2);ylabel('x(n)');

subplot(326);stem(k2,magX2);ylabel('/X(k)/');

结论:

①填零是给原序列填零的运算,会给原始序列的离散时间傅立叶变换提供间隔较

密的样本。

②为画出X(e,,只需要5点的X(k)用内插公式即可得到XS%。但实际上是用

10或20点的X(k)来填充X(e,的值。

③填零运算提供了较密的频谱,而没有增加任何新的信息,因此它不能提供高分

辨率的频谱。

④为得到高分辨率的频谱,需从实验或观察中取得更多的数据。

6

4

2

。九?。九

。卜10

Sr—

2

0L1^2

0

1-3-6采样点增多的高分辨率DFT,采样点数少仅添零的高密度DFTDSP1306

为了说明高密度和高分辨率之间的区别,考察序列

x(n)=2cos(0.35nn)+cos(0.5mn)

①当OWnVIO时,确定并画出x(n)的;离散傅立叶变换。

②当x(n)={/黑黑*时,确定并画出x(n)的离散傅立叶变换。

③当0WnV40时,确定并画出x(n)的离散傅立叶变换。

流程图:

图1-3-6

程序实现如下:

Nl=10;N2=40;nl=0:N1-1;n2=0:N2-1;

x=2*cos(0.35*pi*n)+cos(0.5*pi*n);

xl=x(l:Nl);

Yl=dft(xl,Nl);magYl=abs(Yl);

kl=O:Nl-l;wl=2*pi/Nl*kl;

x2=[xlzeros(1,N2-N1)];

Y2=dft(x2,N2);magY2=abs(Y2);

k2=0:N2-1;w2=2*pi*k2/N2;

Y3=dft(x,N2);magY3=abs(Y3);

k3=0:N2-l;w3=2*pi/N2*k;

subplot(231);stem(nl,xl);title。没有足够点的采样信号');

subplot(234);stem(wl/pi,magY1);title('信号的频谱');

subplot(232);stem(n2,x2);title('添零信号’);

subplot(235);stem(w2/pi,magY2);title('高密度频谱');

subplot(233);stem(n2,x);title(,有足够采样点的信号’);

subplot(236);stem(w3/pi,magY3);title('高分辨率频谱');

没有足够点的采样信号添零信号有足移采样点的信号

4.--------------------------4(---------------------------4.--------------------------

'4o5to2040"*02040

图1-3-6高密度与高分辨率频谱

结论:

①当OWnVIO时的序列x(n)与X(k),从X(k)儿乎无法看出有关信号的频谱的

信息。

②'将x(n)补30个零时的x(n)y与X(k),这时的频谱相当密,但从中很难看出信

号的频谱成分,故成为高密度频谱。

③将x(n)的长度加长到40时的x(n)与X(k),这是可以清晰的看出信号的频谱

成分(W1=O.35n,w2=0.5n),故成为高分辩率频谱。

1-3-7圆周移位性质cirshftt(x,m,N)

设x(n)是•个长度为N的有限长序列,圆周移位定义为

y(n)=x((n+m))NRN(n)(1

—7)

将x(n)以N为周期进行周期延拓得到%=x((n))K,再将%左移m位得到小,

最后取Z.)的主值序列,则得到有限长序列x(n)的周期移位序列y(n),y(n)仍为

长度为N的有限长序列

((n))N表示n对N求余,即如果n=MN+n“VNT,M为整数,则((n)).

riio

圆周移位用cirshftt实现如下:

functiony=cirshftt(x,m,N)

iflength(x)>N

errorN必须>=x的长度')

end

x=[xzeros(1,N-length(x))];

n=0:N-l;

n=mod(n-m,N);

y=x(n+l);

1-3-8DFT园周移位实例DSP1308

例序列x(n)={9,8,7,6,5,4,3,2,1},求分别移位1,3,5,7,9位的圆周移位。

程序实现如下:

n=0:8;x=[9,8,7,6,5,4,3,2,1];

yl=cirshftt(x,1,9);

y2=cirshftt(x,3,9);

y3=cirshftt(x,5,9);

y4=cirshftt(x,7,9);

y5=cirshftt(x,9,9);

subplot(611);stem(n,x);ylabel('x(n)');

subplot(612);stem(n,yl);ylabel(Jyl(n)');

subplot(613);stem(n,y2);ylabel('y2(n),);

subplot(614);stem(n,y3);ylabel(Jy3(n)');

subplot(615);stem(n,y4);ylabel(Jy4(n)');

subplot(616);stem(n,y5);ylabel('y5(n)');

图1-3-8序列圆周移位

1-3-9圆周卷积DSP1309

例计算两序列xl(n)={l,2,2,3};x2(n例{1,2,3,4,夕2}的圆周卷积。

流程图:

图1-3-9

程序实现如下:

xl=[l,2,2,3];x2=[l,2,3,4,3,2];

N=length(xl)+length(x2)-1;n=O:N-l;nl=O:N-2;n2=0:N+l;

yl=circonvt(xl,x2,N-l);

y2=circonvt(xl,x2,N);

y3=circonvt(xl,x2,N+2);

y4=conv(xl,x2);

M=N+2;m=0:M-l;

xl=[xlzeros(1,M-length(xl))];

x2=[x2zeros(1,M-length(x2))];

Xl=dft(xl,M);

X2=dft(x2,M);

X=X1.*X2;

x=idft(X,M);x=real(x);

subplot(241);stem(m,xl);title('xl(n)');

subplot(242);stem(m,x2);title('x2(n),);

subplot(243);stem(nl,yl);title('NT点圆周卷积');

subplot(244);stem(n,y2);title('N点圆周卷积');

subplot(245);stem(n2,y3);title('N+2点圆周卷积');

subplot(246);stem(n,y4);title。一般卷积运算');

subplot(247);stem(m,x);titleCx(n)=IDFT[X(k)J,);

x1(n)«2⑻Ml点圆冏卷积N点面周卷积

图1-1-9圆周卷积

结论:两序列,若xl的长度为N,x2的长度为M。

L2N+M—1时,循环卷积等于线性卷积。

L=N+M—1时,不管时循环卷积也好,还是线性卷积也好,可以用一般

卷积公式进行计算,因为三者的结果时一样的。

1-3-10计算共趣序列x(n)={l-j,2+2j,3-3j,-4+4j,5-5j}的DFT和x*(n)

的DFTDSP1310

xn=[l-j,2+2j,3-3j,-4+4j,5-5j];

Xk=dft(xn,5);xl=(xn,).,;X=dft(xl,5);n=0:4;

subplot(221);stem(n,abs(xn));title(J/x(n)/');

subplot(222);stem(n,abs(Xk));titleC/x(k)/');

subplot(223);stem(n,abs(xl));title(J/x*(n)/');

subplot(224);stem(n,abs(X));title(,/X*(N-k)/');

图1-3-10复共腕序列的DFT

1-3-11DFT共甄对称性DSP1311

暂缺待补

1-3-12补零填充实现线性卷积DSP1312

暂缺待补

1-3-13设x(n)={10,9,8,7,6,5,4,3,2,1),h(n)={1,1,-1}按N=6用重叠保留方法计

算y(n)=x(n)*h(n)DSP1313

x=[10,9,8,7,6,5,4,3,2,1];

xl=[Oz0r10,9,8,7];x2=[8,7,6Z5,4,3];x3=[4,3Z2,1,0,0];

yl=circonvt(xl,h,6);y2=circonvt(x2,h,6);

y3=circonvt(x3,h,6);y=ovrlpsav(x,h,6);;

n=0:5;N=length(x)+length(h)-l;nl=0:N-l;n2=0:9;

subplot(241);stem(nzxl);title(*xl*);axis([0z6Z10]);

1

subplot(245);stem(n^yl);title(*yl);axis([0,6z-10r20]);

subplot(242);stem(nzx2);title(*x*);axis([0z6,0,10]);

subplot(246);stem(n,y2);title(1y21);axis([0,6,-10,20]);

1

subplot(243);stem(nfx3);title(x3*);axis([0,6,0,10]);

subplot(247);stem(n,y3);title(1y31);axis([0,6,-10,20]);

f1

subplot(244);stem(n2zx);title(x;axis([0r11,0z10]);

11

subplot(248);stem(nlzy);title(y;axis([0,11,-10,20]);

1314重叠保留法实现函数ovrlpsav

function[y]=ovrlpsav(x,h,N)

Lenx=length(x);M=length(h);为X输入序列,h脉冲响应

L=N-M1;%N段长

h=[hzeros(1rN-M)];

x=[zeros(1zMl),xzzeros(1,N-l)];%予置M-l个零

k=floor((Lenx+Ml-1)/(L));%段数

Y=zeros(k+1,N);

fork=0:k%各段园卷积

xk=x(k*L+l:k*L+n);

Y(k+lz:)=circonvt(xk,h,N);

end

Y=Y(:,M:N),常去掉前M-l个值

y=(Y(:))1:%装成输出

1-3-15DFT对连续信号作近似谱分析DSP1315

x,(t)幅度的估计对模拟信号Xa(t)=2sin(4nt)+5cos(8nt)以时间xa(t)

间隔T对其采样,得到N点序列x(n),用N点DFT得到对xKt)幅度的估计。

(1)T=0.OisoN=40或N=50,一个能提精确4(t)的幅度谱,画出DFT

的幅度普。

(2)T=0.005s,N=40或N=50,画出DFT的幅度谱。

流程图

T=0.01;N=40;n=0:N-1;t=n*T;

xn=2*sin(4*pi*t)+5*cos(8*pi*t);

Xk=dft(xn,N);

magXk=abs(Xk);

k=(0:length(magXk)'T)*N/length(magXk);

subplot(241);plot(t,xn);axis([0,0.4,-7.5,7]);

title(?T=0.01s,t=0.4s');ylabel('x(t)');

subplot(245);stem(k,magXk);title(5T=0.01s,N=40,);ylabel('X(k)');

T=001s,t=04$T=001s.t=05sT=0005s,t=0.5sT=0005s.t=025s

图1一12用DFT进行频谱分析

从图上可以看出,采样间隔T=0.01s,采样点数N=50是的幅度频谱是最精

确。T=0.005两种情况都存在频谱泄漏。

1-3-16采样间隔、采样点数变化时频谱样值比较DSP1316

例I已知一模拟信号x„(t)=e'u(t),现以采样率fs=20Hz进行采样。用DFT计算当

序列长度①L=100,②L=20时,N=200点地幅度频谱样值并通过作图与理论上准确地

频谱样值进行比较。

解:原信号的傅立叶变换

其幅度为IXa(jQ)|=l/(l+Q2)

流程图

程序实现如下:

fs=20;

Ll=100;N=200;nl=0:Ll-1;tl=nl/fs;L2=20,n2=0:L2-1;t2=n2/fs:

xnl=exp(-tl);xn=[xnl,zeros(1,N-Ll)];

Xkl=dft(xn,N);magXkl=abs(Xkl);

kl=(O:length(magXkl)'-1)*N/length(magXkl);

xn2=exp(-t2);xn=[xn2,zeros(1,N-L2)];

Xk2=dft(xn,N);magXk2=abs(Xk2);

k2=(0:length(magXk2),-1)*N/length(magXk2);

0meger=0:0.1:20*pi;

Xa=l./(l+0meger.2);

subplot(231);plot(tl,xnl);titleCxa(t)t=5s');

subplot(232);plot(t2,xn2);titleCxa(t)t=ls,);

subplot(233);plot(kl,magXkl);titleCX(k)Ll=100N=200();

subplot(234);plot(k2,magXk2);titie("X(k)L2=20N=200");

subplot(235);plot(Omeger/pi,Xa);titleC/Xa(j\0mega)/');

010020001020

图1-13用DFT计算的频谱

结论:

①当序列长度为100,进行200点DFT计算的结果混叠与泄漏的影响比较小,基本上接近

原信号的频谱。因为按给定的fs=20Hz,相当于取信号的最好频率fh=10Hz,故在[0,fh]

频率范围内的信号能量为Eh=l/2n|Xa(jQ)/dQ=0.495

2

信号的总能量为EX=1/2JIfZIXa(jQ)|dQ=0.5

E“&=99%,基本上满足频谱不混叠的要求。

②当序列长度为20,进行200点DFT计算,由于截取x(n)长度太短

x(t)|,t=Lf=e'LT=l/e=0.3079»0

所以频谱泄漏出现较大的波动,以致与原信号频谱有较大差别。

㈡用DFT对离散信号进行频谱分析序列x(n)在单位圆上的z变换就是傅立叶变换X(e"),

即X(eJW)=X(z)|z=eju

对序列x(n)进行N点DFT得到X(k),X(k)是X(ej,)在区间[0,2n]上的N点等

间隔采样,因此序列的傅立叶变换可利用DFT来计算。

1-3-17实序列奇偶分解及DFT的虚实分解DSP1317

例:设x(n)=0.5(0.8)n0WnW20

(1)分解x(n)成Xec(n)和x℃(n);(奇偶部分)

(2)检验序列的性质。

DFT[xec(n)]=Re[X(k)]

DFT[xoc(n)]=Im[X(k)]3

程序实现如下:

N=20;n=0:N-l;x=5*(0.8).n;

[xec,xoc]=circevod(x);

X=dft(x,N);Xec=dft(xec,N);Xoc=dft(xoc,N);

subplot(241);stem(n,x);title('x(n)');

subplot(242);stem(n,abs(X));titleabs[X(k)]');

subplot(243);stem(n,real(X));titleCRe[X(k)]');

subplot(244);stem(n,imag(X));title('Im[X(k)]');

subplot(245);stem(n,xec);title('xec(n)');

subplot(246);stem(n,xoc);title('xoc(n)’);

subplot(247);stem(n,real(Xec));title('DFT[xec(n)]');

subplot(248);stem(n,imag(Xoc));titleCDFT[xoc(n)],);

50------------------2&------------------25®------------------20

图1-15DFT的实部和虚部

结论:

实序列的偶分量关于N/2点对称,奇分量关于N/2点反对称,偶分量的DFT

等于实序列的DFT的实部,奇分量的DFT等于实序列的DFT的虚部。

1-3-18实序列奇偶分解函数circevod(x)

function[xec,xoc]二circevod(x)

ifany(imag(x)"=0)

errorx非实数序列')

end

N=length(x);n=0:N-1;

xec=O.5*(x+x(mod(-n,N)+l));

xoc=0.5*(x-x(mod(-n,N)+l));

1-3-19用FFT分析信号频率成分DSP1319

一被噪声污染的信号,很难看出它所包含的频率分量,如一个由50Hz和

120Hz正弦信号构成的信号,受到均值随机噪声的干扰,数据采样率为1000Hz。

通过FFT来分析其信号频率成分,用MATLAB实现如下:

t=0:0.001:0.6;

x=sin(2*pi*50*t)+sin(2*pi*1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论