当前位置:文档之家› 数字信号处理实验作业

数字信号处理实验作业

数字信号处理实验作业
数字信号处理实验作业

实验5 抽样定理

一、实验目的:

1、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。

2、进一步加深对时域、频域抽样定理的基本原理的理解。

3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和插公式的编程方法。 二、实验原理:

1、时域抽样与信号的重建 (1)对连续信号进行采样

例5-1 已知一个连续时间信号sin sin(),1Hz 3

ππ=0001f(t)=(2f t)+6f t f ,取最高有限带宽频率f m =5f 0,分别显示原连续时间信号波形和F s >2f m 、F s =2f m 、F s <2f m 三情况下抽样信号的波形。

程序清单如下:

%分别取Fs=fm ,Fs=2fm ,Fs=3fm 来研究问题 dt=0.1; f0=1; T0=1/f0; m=5*f0; Tm=1/fm; t=-2:dt:2;

f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1); plot(t,f);

axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3;

fs=i*fm;Ts=1/fs; n=-2:Ts:2;

f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); subplot(4,1,i+1);stem(n,f,'filled');

axis([min(n),max(n),1.1*min(f),1.1*max(f)]); end

程序运行结果如图5-1所示:

原连续信号和抽样信号

图5-1

(2)连续信号和抽样信号的频谱

由理论分析可知,信号的频谱图可以很直观地反映出抽样信号能否恢复原模拟信号。因此,我们对上述三种情况下的时域信号求幅度谱,来进一步分析和验证时域抽样定理。

例5-2编程求解例5-1中连续信号及其三种抽样频率(F s>2f m、F s=2f m、F s<2f m)下的抽样信号的幅度谱。

程序清单如下:

dt=0.1;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm;

t=-2:dt:2;N=length(t);

f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t);

wm=2*pi*fm;k=0:N-1;w1=k*wm/N;

F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1));

axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]);

for i=1:3;

if i<=2 c=0;else c=1;end

fs=(i+c)*fm;Ts=1/fs;

n=-2:Ts:2;N=length(n);

f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n);

wm=2*pi*fs;k=0:N-1;

w=k*wm/N;F=f*exp(-j*n'*w)*Ts;

subplot(4,1,i+1);plot(w/(2*pi),abs(F));

axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]);

end

程序运行结果如图5-2所示。

由图可见,当满足F s≥2f m条件时,抽样信号的频谱没有混叠现象;当不满足F s≥2f m 条件时,抽样信号的频谱发生了混叠,即图5-2的第二行F s<2f m的频谱图,,在f m=5f0的围,频谱出现了镜像对称的部分。

02

4

6

8

10

12

14

16

18

20

02

4

6

8

10

12

14

16

18

20

02

4

6

8

10

12

14

16

18

20

2

4

6

8

10

12

14

16

18

20

图5-2

(3)由插公式重建信号

信号重建一般采用两种方法:一是用时域信号与理想滤波器系统的单位冲激响应进行卷积积分;二是用低通滤波器对信号进行滤波。本实验只讨论第一种方法。

由理论分析可知,理想低通滤波器的单位冲激响应为

j Ωt πt sin()1T h(t)=H(j Ω)e d Ω=

πt 2πT

∞-∞

? 抽样信号a ?x

(t)通过滤波器输出,其结果应为a ?x (t)与h(t)的卷积积分: sin[()/]

??()()()()()()()

()/a a a a a n t nT T y t x t x

t h t x h t d x nT t nT T πτττπ∞

-∞

=-∞

-==*=-=-∑

?

该式称为插公式。由式可见,x a (t)信号可以由其抽样值x a (nT)及插函数重构。MATLAB 中提供了sinc 函数,可以很方便地使用插公式。

例5-3 用上面推导出的插公式重建例5-1给定的信号。 程序清单如下:

dt=0.01;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm;

t=0:dt:3*T0;x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t);

subplot(4,1,1);plot(t,x);axis([min(t),max(t),1.1*min(x),1.1*max(x)]); title('用时域卷积重建抽样信号'); for i=1:3;

fs=i*fm;Ts=1/fs; n=0:(3*T0)/Ts; t1=0:Ts:3*T0;

x1=sin(2*pi*f0*n/fs)+1/3*sin(6*pi*f0*n/fs);

T_N=ones(length(n),1)*t1-n'*Ts*ones(1,length(t1)); xa=x1*sinc(fs*pi*T_N); subplot(4,1,i+1);plot(t1,xa);

axis([min(t1),max(t1),1.1*min(xa),1.1*max(xa)]); end

程序运行结果如图5-3所示:

用时域卷积重建抽样信号

00.5

1

1.5

2

2.5

3

图5-3

2、频域抽样与信号恢复 (1)频域抽样定理

从理论学习可知,在单位圆上对任意序列的Z 变换等间隔采样N 点得到:

2πj k N

2πj

nk N

z=e n=-X(k)=X (z)

=x(n)e

∑ k=0,1,…,N-1

该式实现了序列在频域的抽样。

那么由频域的抽样得到的频谱的序列能否不失真地恢复原时域信号呢? 由理论学习又知,频域抽样定理由下列公式表述:

r=-x(n)=x(n+rN)∞

表明对一个频谱采样后经IDFT 生成的周期序列x(n)是原非周期序列x(n)的周期延拓序列,其时域周期等于频域抽样点数N 。

假定有限长序列x(n)的长度为M ,频域抽样点数为N ,原时域信号不失真地由频域抽样恢复的条件如下:

① 如果x(n)不是有限长序列,则必然造成混叠现象,产生误差;

② 如果x(n)是有限长序列,且频域抽样点数N 小于序列长度M (即N

③ 如果x(n)是有限长序列,且频域抽样点数N 大于或等于序列长度M (即N ≥M ),则从x(n)中能无失真地恢复出原信号x(n),即

N N N N r=-x (n)=x (n)R (n)=x(n+rN)R (n)=x(n)∞

(2)从频谱抽样恢复离散时间序列 例5-4 已知一个时间序列的频谱为

j ω

-j ωn -j ω-j2ω-j3ω-j4ωn=-X(e )=x(n)e =3+2e +e +2e +3e ∞

用IFFT 计算并求出其时间序列x(n),并绘图显示时间序列。

分析:该题使用了数字频率,没有给出采样周期,则默认Ts=1S,另外,从j ω

X(e )的解析式可以直接看出时域序列xn=[3,2,1,2,3]。但为说明问题,仍编写程序求解如下:

程序清单如下: Ts=1;N0=[3,5,10]; for r=1:3; N=N0(r);

D=2*pi/(Ts*N);

kn=floor(-(N-1)/2:-1/2); kp=floor(0:(N-1)/2); w=[kp,kn]*D;

X=3+2*exp(-j*w)+1*exp(-j*2*w)+2*exp(-j*3*w)+3*exp(-j*4*w); n=0:N-1; x=ifft(X,N)

subplot(1,3,r);stem(n*Ts,abs(x)); box end

程序运行结果如图5-4所示:

012

02

4

图5-4

注意:程序中数字频率的排序进行了处理,这是因为j ω

X(e )的排列顺序是从0开始,而不是从-(N-1)/2开始。

程序运行后将显示数据:

x=5.0000 5.0000 1.0000

x=3.0000 2.0000 1.0000 2.0000 3.0000

x=3.0000 - 0.0000i 2.0000 + 0.0000i 1.0000 - 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000 -0.0000 + 0.0000i 0 - 0.0000i -0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.0000i

由jω

X(e)的频谱表达式可知,有限长时间序列x(n)的长度M=5,现分别取频域抽样点

数为N=3,5,10,由图5-4显示的结果可以验证:

①当N=5和N=10时,N≥M,能够不失真地恢复出原信号x(n);

②当N=3时,N<M,时间序列有泄漏,形成了混叠,不能无失真地恢复出原信号x(n)。混叠的原因是上一周期的后2点与本周期的前两点发生重叠,如下所示:

3 2 1 2 3

3 2 1 2 3

例5-5已知一个频率围在[-62.8,62.8]rad/s间的频谱

sin0.275Ω

X(jΩ)=

sin0.025Ω

,用IFFT计算

并求出时间序列x(n),用图形显示时间序列。

分析:本题给出了模拟频率Ω,其中Ωm=62.8,需将其归一化为数字频率。根据奈奎斯特定理可知,(1/Ts)=Fs≥(2Ωm/2π),可以推导出Ts≤(π/Ωm),取Ts=0.05s,即采样频率Fs为20Hz或40π。

程序清单如下:

wm=62.8;Ts=pi/wm;

N0=[8,20];

for r=1:2

N=N0(r);

D=2*pi/(Ts*N);

k=[0:N-1]+eps;

omg=k*D;

X=sin(0.275*omg)./sin(0.025*omg);

n=0:N-1;

x=abs(ifft(X,N));

subplot(1,2,r);stem(n*Ts,abs(x));

box

end

程序运行结果如图5-5所示:

图5-5

由N=20的结果可知,时间序列x(n)是一个矩形窗。根据DFT的循环移位性质可知,非零数据存在于n=-5:5的区域,有限长序列的长度为11。而N=8小于有限长序列的长度,其结果发生了混叠,不能无失真地恢复出原信号x(n)。

3、从频谱恢复连续时间信号

实际应用中,离散信号往往来源于对连续信号的采样,因此,这里要讨论从频谱如何计算连续时间信号。

从本质上讲,计算机处理的都是离散信号。当使用计算机处理连续信号时,实际上是用采样周期极小的序列信号来近似为连续信号。因此在处理时,原来对于离散序列处理的理论依然有效。

(1)选择一个符合奈奎斯特定理的很小的采样周期T ,将主要的模拟频谱限制在奈奎斯特频率围,a X (Ω)=0 Ωπ/T ≥当;

(2)在[-π/T,π/T ]的频率区间取N 个频率点Ωk ,求出对应的数字频谱:

a k k X (Ω)

X(Ω)=

T

(3)对k X(Ω)作IDFT ,求x a (t)。假定没有发生时间混叠,则

a k a t=nT X (Ω)

x (t)x(n)=IDFT[

]T

≈ (4)作图。用plot 自动进行插值,获得连续信号。

例5-6 已知图5-6所示的理想低通滤波器的模拟频率Ωc =3,在|Ω|≤Ωc 围幅度为1,|Ω|>Ωc 时幅度为0。要求计算连续脉冲响应x a (t)。

Ω

-Ωc Ωc

图5-6

分析:由奈奎斯特定理可知采样频率Ωs ≥2Ωc ,即采样周期T s ≤πΩc 恢复原信号时不会发生混叠。选的再小一些可以增加样点数,因此可以选T s =0.1π/Ωc =0.1047s 。同时,为使时间信号尽量接近连续信号,需提高N 点的个数。可以由模拟频率的分辨率公式推导: D=2π/NT s ≤0.1Ωc ,使频率分辨率小于有效带宽的1/10,得到:N ≥20π/Ωc T s 程序清单如下:

wc=3;Tmax=0.1*pi/wc; Ts=input('(Ts

N=input('(N>Nmin)N='); D=2*pi/(Ts*N); M=floor(wc/D);

Xa=[ones(1,M+1),zeros(1,N-2*M-1),ones(1,M)]; n=-(N-1)/2:(N-1)/2;

xa=abs(fftshift(ifft(Xa/Ts))); plot(n*Ts,xa);

程序执行过程中,在MATLAB 命令窗口将给出提示:输入Ts 和N 的值,再给出绘图结果。图5-7是分别输入Ts=0.1s ,N=300和Ts=0.1s ,N=1000两组数据的运行结果。

-20

-10

10

20

00.20.40.60.8

1 图5-7

三、实验容:

1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。

2、已知一个连续时间信号f(t)=sinc(t),取最高有限带宽频率f m =1Hz 。

(1)分别显示原连续信号波形和F s =f m 、F s =2f m 、F s =3f m 三种情况下抽样信号的波形;

dt=0.1; fm=1; Tm=1/fm; t=-6:dt:6; f=sinc(t); subplot(4,1,1); plot(t,f);

axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('?-á?D?D?o?oí3é?ùD?o?'); for i=1:3;

fs=i*fm;Ts=1/fs; n=-6:Ts:6; f=sinc(n);

subplot(4,1,i+1);stem(n,f,'filled'); axis([min(n),max(n),1.1*min(f),1.1*max(f)]); end

-50

50

00.20.40.60.8

1

dt=0.1;f0=1;T0=1/f0;fm=1;Tm=1/fm;

t=-2:dt:2;N=length(t);

f=sinc(f0*t);

wm=2*pi*fm;k=0:N-1;w1=k*wm/N;

F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1)); axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]);

for i=1:3;

if i<=2 c=0;else c=1;end

fs=(i+c)*fm;Ts=1/fs;

n=-2:Ts:2;N=length(n);

f=sinc(f0*n);

wm=2*pi*fs;k=0:N-1;

w=k*wm/N;F=f*exp(-j*n'*w)*Ts;

subplot(4,1,i+1);plot(w/(2*pi),abs(F));

axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]);

end

dt=0.01;f0=1;T0=1/f0;fm=1;Tm=1/fm;

t=-7*T0:dt:7*T0;x=sinc(t);

subplot(4,1,1);plot(t,x);axis([min(t),max(t),1.1*min(x),1.1*max(x)]); title('ó?ê±óò?í?y???¨3é?ùD?o?');

for i=1:3;

fs=i*fm;Ts=1/fs;

n=0:(3*T0)/Ts;

t1=-7*T0:Ts:7*T0;

x1=sinc(f0*n/fs);

T_N=ones(length(n),1)*t1-n'*Ts*ones(1,length(t1));

xa=x1*sinc(fs*pi*T_N);

subplot(4,1,i+1);plot(t1,xa);

axis([min(t1),max(t1),1.1*min(xa),1.1*max(xa)]);

end

3、已知一个时间序列的频谱为:j ω

-j ωn

-j ω-j2ω-j3ω-j4ωn=-X(e )=

x(n)e

=2+4e +6e +4e +2e ∞

分别取频域抽样点数N 为3、5和10,用IFFT 计算并求出其时间序列x(n),绘图显示个时间序列。由此讨论由频域抽样不失真地恢复原时域信号的条件。

Ts=1;N0=[3,5,10]; for r=1:3; N=N0(r); D=2*pi/(Ts*N);

kn=floor(-(N-1)/2:-1/2); kp=floor(0:(N-1)/2); w=[kp,kn]*D;

X=2+4*exp(-j*w)+6*exp(-j*2*w)+4*exp(-j*3*w)+2*exp(-j*4*w); n=0:N-1; x=ifft(X,N)

subplot(1,3,r);stem(n*Ts,abs(x)); box end

c 围幅度为0.计算其连续信号x a(t),并绘图显示信号曲线。

wc=3.14;Tmax=0.1*pi/wc;

Ts=input('(Ts

Nmin=20*pi/wc/Ts;

N=input('(N>Nmin)N=');

D=2*pi/(Ts*N);

M=floor(wc/D);

Xa=[zeros(1,M),1,zeros(1,N-2*M-1),1,zeros(1,M-1)]; n=-(N-1)/2:(N-1)/2;

xa=abs(fftshift(ifft(Xa/Ts)));

plot(n*Ts,xa);

输入Ts=0.1

N=100

1、认真阅读实验原理部分,明确实验目的,读懂例题程序,了解实验方法。

2、根据实验任务预先编写实验程序。

3、预习思考题:

①什么是插公式?在MA TLAB中插公式可用什么函数来编写?

②从频域抽样序列不失真地恢复离散时域信号的条件是什么?

五、实验报告:

1、列写调试通过的实验程序,打印实验程序产生的曲线图形。

2、给出预习思考题答案。

3、思考题:

①试归纳用IFFT数值计算方法从频谱恢复离散时间序列的方法和步骤。

②从频谱恢复连续时间信号与恢复离散时间序列有何不同?

数字信号处理实验一

一、实验目的 1. 通过本次实验回忆并熟悉MATLAB这个软件。 2. 通过本次实验学会如何利用MATLAB进行序列的简单运算。 3. 通过本次实验深刻理解理论课上的数字信号处理的一个常见方法——对时刻n的样本附近的一些样本求平均,产生所需的输出信号。 3. 通过振幅调制信号的产生来理解载波信号与调制信号之间的关系。 二、实验内容 1. 编写程序在MATLAB中实现从被加性噪声污染的信号中移除噪声的算法,本次试验采用三点滑动平均算法,可直接输入程序P1.5。 2. 通过运行程序得出的结果回答习题Q1.31-Q1.33的问题,加深对算法思想的理解。 3. 编写程序在MATLAB中实现振幅调制信号产生的算法,可直接输入程序P1.6。 4. 通过运行程序得出的结果回答习题Q1.34-Q1.35的问题,加深对算法思想的理解。 三、主要算法与程序 1. 三点滑动平均算法的核心程序: %程序P1.5 %通过平均的信号平滑 clf; R=51; d=0.8*(rand(R,1)-0.5);%产生随噪声 m=0:R-1; s=2*m.*(0.9.^m);%产生为污染的信号 x=s+d';%产生被噪音污染的信号 subplot(2,1,1); plot(m,d','r-',m,s,'g--',m,x,'b-.');

xlabel('时间序号n');ylabel('振幅'); legend('d[n]','s[n]','x[n]'); x1=[0 0 x];x2=[0 x 0];x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2); plot(m,y(2:R+1),'r-',m,s,'g--'); legend('y[n]','s[n]'); xlabel('时间序号n');ylabel('振幅'); 2. 振幅调制信号的产生核心程序:(由于要几个结果,因此利用subplot函数画图) %程序P1.6 %振幅调制信号的产生 n=0:100; m=0.1;fH=0.1;fL=0.01; m1=0.3;fH1=0.3;fL1=0.03; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; xH1=sin(2*pi*fH1*n); xL1=sin(2*pi*fL1*n); y1=(1+m1*xL).*xH; y2=(1+m*xL).*xH1; y3=(1+m*xL1).*xH; subplot(2,2,1); stem(n,y); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.1;fH=0.1;fL=0.01;'); subplot(2,2,2); stem(n,y1); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.01;'); subplot(2,2,3); stem(n,y2); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.3;fL=0.01;'); subplot(2,2,4); stem(n,y3); grid;

DSP实验报告

一、综合实验内容和目的 1、实验目的 (1) 通过实验学习掌握TMS320F28335的浮点处理; (2) 学习并掌握A/D模块的使用方法; (3) 学习并掌握中断方式和查询方式的相关知识及其相互之间的转换; (4) 学习信号时域分析的方法,了解相关电量参数的计算方法; (5) 了解数字滤波的一些基本方法。 2、实验内容 要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T,信号的均方根大小V rms、平均值V avg、峰-峰值V pp。 其中,均方根V rms的计算公式如下: V= rms 式中N为采样点数,()u i为采样序列中的第i个采样点。 要求2:所设计软件需要计算采样的波形周期个数,并控制采样点数大于1个波形周期,且小于3个波形周期大小。 要求3:对采集的数据需要加一定的数字滤波。 二、硬件电路 相关硬件:TMS320F28335DSP实验箱,仿真器。

硬件结构图 三、程序流程图 1、主程序流程图 程序的主流程图2、子程序流程图

参数计算的流程图 四、实验结果和分析 1、实验过程分析 (1) 使用的函数原型声明 对ADC模件相关参数进行定义:ADC时钟预定标,使外设时钟HSPCLK 为25MHz,ADC模块时钟为12.5MHz,采样保持周期为16个ADC时钟。 (2) 定义全局变量 根据程序需要,定义相关变量。主要有:ConversionCount、Voltage[1024]、Voltage1[1024]、Voltage2[1024]、filter_buf[N]、filter_i、Max、Min、T、temp、temp1、temp2、temp3、Num、V、Vav、Vpp、Vrm、fre。这些变量的声明请见报告后所附的源程序。 (3) 编写主函数 完成系统寄存器及GPIO初始化;清除所有中断,初始化PIE向量表,将程

数字信号处理实验(吴镇扬)答案-2

(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的 值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 ()() ?????≤≤=-其他0150,2n e n x q p n a 解:程序见附录程序一: P=8,q 变化时: t/T x a (n ) k X a (k ) t/T x a (n ) p=8 q=4 k X a (k ) p=8 q=4 t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 幅频特性 时域特性

t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 t/T x a (n ) 5 10 15 k X a (k ) p=13 q=8 t/T x a (n ) p=14 q=8 5 10 15 k X a (k ) p=14 q=8 时域特性幅频特性 分析: 由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱; 当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值, p=14时的泄漏现象最为明显,混叠可能也随之出现;

数字信号处理实验报告

数字信号处理作业提交日期:2016年7月15日

实验一 维纳滤波器的设计 第一部分 设计一维纳滤波器。 (1)产生三组观测数据,首先根据()(1)()s n as n w n =-+产生信号()s n ,将其加噪(信噪比分别为20,10,6dB dB dB ),得到观测数据123(),(),()x n x n x n 。 (2)估计()i x n ,1,2,3i =的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。 1 实验原理 滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。 维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。 设一线性系统的单位样本响应为()h n ,当输入以随机信号()x n ,且 ()() () x n s n v n =+,其中()s n 表示原始信号,即期望信号。()v n 表示噪声,则输出()y n 为()=()()m y n h m x n m -∑,我们希望信号()x n 经过线性系统()h n 后得到的()y n 尽可能接近 于()s n ,因此称()y n 为估计值,用?()s n 表示。 则维纳滤波器的输入-输出关系可用下面表示。 设误差信号为()e n ,则?()()()e n s n s n =-,显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即 它的平方的统计期望最小:222?[|()|][|()()|][|()()|]E e n E s n s n E s n y n =-=-=min 。而要使均方误差最小,则需要满足2[|()|]j E e n h ?=0. 进一步导出维纳-霍夫方程为:()()()()*(),0,1,2...xs xx xx i R m h i R m i R m h m m =-==∑ 写成矩阵形式为:xs xx R R h =,可知:1xs xx h R R -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

DSP实验报告

东南大学自动化学院 实验报告 课程名称: DSP技术及课程设计 实验名称:直流无刷电机控制综合实验 院(系):自动化专业:自动化 姓名:ssb 学号:08011 实验室:304 实验组别: 同组人员:ssb1 ssb2 实验时间:2014年 6 月 5 日评定成绩:审阅教师:

目录 1.实验目的和要求 (3) 1.1 实验目的 (3) 1.2 实验要求 (3) 1.2.1 基本功能 (3) 1.2.2 提高功能 (3) 2.实验设备与器材配置 (3) 3.实验原理 (3) 3.1 直流无刷电动机 (3) 3.2 电机驱动与控制 (5) 3.3 中断模块 (7) 3.3.1 通用定时器介绍及其控制方法 (7) 3.3.2 中断响应过程 (7) 3.4 AD模块 (8) 3.4.1 TMS320F28335A 芯片自带模数转换模块特性 (8) 3.4.2 模数模块介绍 (8) 3.4.3 模数转换的程序控制 (8) 4.实验方案与实验步骤 (8) 4.1 准备实验1:霍尔传感器捕获 (8) 4.1.1 实验目的 (8) 4.1.2 实验内容 (9) 4.1.2.1 准备 (9) 4.1.2.2 霍尔传感器捕获 (9) 4.2 准备实验2:直流无刷电机(BLDC)控制 (10) 4.2.1 程序框架原理 (10) 4.2.1.1 理解程序框架 (10) 4.2.1.2 基于drvlib281x库的PWM波形产生 (11) 4.2.2 根据捕获状态驱动电机运转 (12) 4.2.2.1 目的 (12) 4.2.2.2 分析 (12) 4.3 考核实验:直流无刷电机调速控制系统 (13) 4.3.1 初始化工作 (13) 4.3.2 初始化定时器0.... . (13) 4.3.3初始化IO口 (13) 4.3.4中断模块.... (13) 4.3.5 AD模块 (14) 4.3.6在液晶屏显示 (15) 4.3.7电机控制 (17) 4.3.7.1 控制速度方式选择 (17) 4.3.7.2 控制速度和转向 (18) 4.3.8延时子函数 (19) 4.3.9闭环PID调速 (19)

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

数字信号处理实验1,2,3,4

实验一 连续时间系统的时域和频域分析相关MATLAB 函数1.设描述连续时间系统的微分方程为:)()()()()()()()(01)1(1)(01)1(1)(t f b t f b t f b t f b t y a t y a t y a t y a m m m m n n n n +'+++=+'+++---- 则可用向量和表示该系统,即 a b ] ,,,,[011a a a a a n n -=],,,,[011b b b b b m m -=注意,向量和的元素一定要以微分方程时间求导的降幂次序排列,且缺项要用0补齐。a b 如微分方程)()()(2)(3)(t f t f t y t y t y +''=+'+''表示该系统的向量为 ]2 3 1[=a ]1 0 1[=b (1)求解冲激响应:impulse()函数impulse()函数有以下四种调用格式: ① impulse(b,a) 该调用格式以默认方式绘制由向量和定义的连续时间系统的冲激响应的时域波形。a b ② impulse(b,a,t)该调用格式绘制由向量和定义的连续时间系统在时间范围内的冲激响应的时a b t ~0域波形。③ impulse(b,a, t1:p:t2)该调用格式绘制由向量和定义的连续时间系统在时间范围内,且以时间间a b 21~t t 隔均匀抽样的冲激响应的时域波形。p ④ y=impulse(b,a,t1:p:t2)该调用格式并不绘制系统冲激响应的波形,而是求出由向量和定义的连续时间系a b 统在时间范围内以时间间隔均匀抽样的系统冲激响应的数值解。21~t t p (2)求解阶跃响应:step()函数 step()函数也有四种调用格式:① step(b,a) ② step(b,a,t) ③ step(b,a, t1:p:t2) ④ y=step(b,a,t1:p:t2) 上述调用格式的功能与impulse()函数完全相同。

DSP实验报告

实验0 实验设备安装才CCS调试环境 实验目的: 按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。 实验步骤: 以演示实验一为例: 1.使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源; 2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStart\sinewave\”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out; 3.打开源文件exer3.asm,在注释行“set breakpoint in CCS !!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示; 4.点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框 5.双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1; DSP Data Type设置成16-bit signed integer,如下图所示; 6.点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察 7.点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果: 心得体会: 通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。熟悉了DSP实验箱基本模块。让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

DSP实验报告-深圳大学-自动化

深圳大学实验报告课程名称:DSP系统设计 实验项目名称:DSP系统设计实验 学院:机电与控制工程学院 专业:自动化 指导教师:杜建铭 报告人1:. 学号:。班级:3 报告人2:. 学号:。班级:3 报告人3:. 学号:。班级:3 实验时间: 实验报告提交时间: 教务处制

实验一、CCS入门试验 一、实验目的 1. 熟悉CCS集成开发环境,掌握工程的生成方法; 2. 熟悉SEED-DEC2812实验环境; 3. 掌握CCS集成开发环境的调试方法。 二、实验仪器 1.TMS320系列SEED-DTK教学试验箱24套 2. 台式PC机24台 三、实验内容 1.仿真器驱动的安装和配置 2. DSP 源文件的建立; 3. DSP程序工程文件的建立; 4. 学习使用CCS集成开发工具的调试工具。 四、实验准备: 1.将DSP仿真器与计算机连接好; 2.将DSP仿真器的JTAG插头与SEED-DEC2812单元的J1相连接; 3.启动计算机,当计算机启动后,打开SEED-DTK2812的电 源。SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯及SEED-DEC2812的电源指示灯D2是否均亮;若有不亮,请断开电源,检查电源。 五、实验步骤 (一)创建源文件 1.进入CCS环境。

2.打开CCS选择File →New →Source File命令 3.编写源代码并保存 4.保存源程序名为math.c,选择File →Save 5.创建其他源程序(如.cmd)可重复上述步骤。 (二)创建工程文件 1.打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定弹 出对话框: 2.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成 即可完成工程创建; 3.点击Project选择add files to project,添加工程所需文件;

数字信号处理实验(吴镇扬)答案-4

实验四 有限长单位脉冲响应滤波器设计 朱方方 0806020433 通信四班 (1) 设计一个线性相位FIR 高通滤波器,通带边界频率为0.6π,阻带边界频率为0.4π,阻 带衰减不小于40dB 。要求给出h(n)的解析式,并用MATLAB 绘出时域波形和幅频特性。 解: (1) 求数字边界频率: 0.6 , .c r ωπωπ== (2) 求理想滤波器的边界频率: 0.5n ωπ= (3) 求理想单位脉冲响应: []d s i n ()s i n [()] () ()1n n n n n n h n n παωαα παωα π?-- -≠??-=? ? -=?? (4) 选择窗函数。阻带最小衰减为-40dB ,因此选择海明窗(其阻带最小衰减为-44dB);滤 波器的过渡带宽为0.6π-0.4π=0.2π,因此 6.21 0.231 , 152 N N N ππα-=?=== (5) 求FIR 滤波器的单位脉冲响应h(n): []31d sin (15)sin[0.5(15)] 1cos ()15()()()15(15)1 15 n n n R n n h n w n h n n n ππππ?---????-? ?≠? ???==-???? ? ?=? 程序: clear; N=31; n=0:N-1; hd=(sin(pi*(n-15))-sin(0.5*pi*(n-15)))./(pi *(n-15)); hd(16)=0.5; win=hanning(N); h=win'.*hd; figure; stem(n,h); xlabel('n'); ylabel('h(n)'); grid; title('FIR 高通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;3 plot(w/pi,H); axis([0 1 -100 10]); xlabel('\omega/\pi'); ylabel('幅度/dB'); grid; title('FIR 高通滤波器,hanning 窗,N=31');

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m n h n x m n h m x n y )(*)()()()( 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。当n 为正数时,右移n 位;当n 为负数时,左移n 位。 (3)相乘:将)(m n h -和)(m x 的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

dsp实验报告

DSP 实验课大作业实验报告 题目:在DSP 上实现线性调频信号的脉冲压缩,动目标显示和动目标检测 (一)实验目的: (1)了解线性调频信号的脉冲压缩、动目标显示和动目标检测的原理,及其DSP 实现的整个流程; (2)掌握C 语言与汇编语言混合编程的基本方法。 (3)使用MATLAB 进行性能仿真,并将DSP 的处理结果与MATLAB 的仿真结果进行比较。 (二)实验内容: 1. MATLAB 仿真 设定信号带宽为B= 62*10,脉宽-6=42.0*10τ,采样频率为62*10Fs =,脉冲重复周期为-4T=2.4*10,用MATLAB 产生16个脉冲的线性调频信号,每个脉冲包含三个目标,速度和距离如下表: 对回波信号进行脉冲压缩,MTI ,MTD 。并且将回波数据和频域脉压系数保存供DSP 使用。 2.DSP 实现 在Visual Dsp 中,经MATLAB 保存的回波数据和脉压系数进行脉压,MTI 和MTD 。 (三)实验原理 1.脉冲压缩原理 在雷达系统中,人们一直希望提高雷达的距离分辨力,而距离分辨力定义为:22c c R B τ?==。其中,τ表示脉冲时宽,B 表示脉冲带宽。从上式中我们可以看

出高的雷达分辨率要求时宽τ小,而要求带宽B大。但是时宽τ越小雷达的平均发射功率就会很小,这样就大大降低了雷达的作用距离。因此雷达作用距离和雷达分辨力这两个重要的指标变得矛盾起来。然而通过脉冲压缩技术就可以解决这个矛盾。脉冲压缩技术能够保持雷达拥有较高平均发射功率的同时获得良好的距离分辨力。 在本实验中,雷达发射波形采用线性调频脉冲信号(LFM),其中频率与时延成正比关系,因此我们就可以将信号通过一个滤波器,该滤波器满足频率与时延成反比关系。那么输入信号的低频分量就会得到一个较大的时延,而输入信号的高频分量就会得到一个较小的时延,中频分量就会按比例获得相应的时延,信号就被压缩成脉冲宽度为1/B的窄脉冲。 从以上原理我们可以看出,通过使用一个与输入信号时延频率特性规律相反的滤波器我们可以实现脉冲压缩,即该滤波器的相频特性与发射信号时共轭匹配的。所以说脉冲压缩滤波器就是一个匹配滤波器。从而我们可以在时域和频域两个方向进行脉冲压缩。 滤波器的输出() h n= y n为输入信号() x n与匹配滤波器的系统函数() *(1) y n x n s N n =--。转换到频域就是--卷积的结果:* ()()*(1) s N n =。因此我们可以将输入信号和系统函数分别转化到频域:Y k X k H k ()()( Y k,然后将结果再转化到时域, h n H k →,进行频域相乘得() ()() x t X k →,()() 就可以得到滤波器输出:()() →。我们可用FFT和IFFT来实现作用域的 Y k y n 转换。原理图如下: 图1.脉冲压缩原理框图 2.MTI原理 动目标显示(MTI)技术是用来抑制各种杂波,来实现检测或者显示运动目标的技术。利用它可以抑制固定目标的信号,显示运动目标的信号。以线性调频

数字信处理上机实验答案全

数字信处理上机实验答 案全 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞ n时,系统的输出。如果系统稳定,信号加入 → 系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

西南交大数字信号处理报告

信息科学与技术学院本科三年级 数字信号处理实验报告 2011 年12 月21日

实验一 序列的傅立叶变换 实验目的 进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换 (FFT )的应用。 实验步骤 1. 复习DFS 和DFT 的定义,性质和应用; 2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。 实验内容 1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。 实验结果: 60 ,7)4(;60,5)3(; 40,5)2(;20,5)1()] (~[)(~,2,1,01 )1(,01,1)(~=========±±=???-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L m N L m N n m N n x ) 52.0cos()48.0cos()(n n n x ππ+=

2. 有限长序列x(n)的DFT (1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度; (2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出 x(n)的频谱X(k) 的幅度; (3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。利用FFT 进行谱分析 已知:模拟信号 以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。 请分别画出N=45; N=50;N=55;N=60时的幅值曲线。 实验结果: ) 8cos(5)4sin(2)(t t t x ππ+=

北邮DSP实验报告

北京邮电大学 数字信号处理硬件实验 实验名称:dsp硬件操作实验姓名:刘梦颉班级: 2011211203 学号:2011210960 班内序号:11 日期:2012年12月20日 实验一常用指令实验 一、实验目的 了解dsp开发系统的组成和结构,熟悉dsp开发系统的连接,熟悉dsp的开发界面,熟 悉c54x系列的寻址系统,熟悉常用c54x系列指令的用法。 二、实验设备 计算机,ccs 2.0版软件,dsp仿真器,实验箱。 三、实验操作方法 1、系统连接 进行dsp实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示: 1)上电复位 在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应 点亮,否则dsp开发系统与计算机连接有问题。 2)运行ccs程序 先实验箱上电,然后启动ccs,此时仿真器上的“绿色小灯”应点亮,并且ccs正常启 动,表明系统连接正常;否则仿真器的连接、jtag接口或ccs相关设置存在问题,掉电,检 查仿真器的连接、jtag接口连接,或检查ccs相关设置是否正确。 四、实验步骤与内容 1、实验使用资源 实验通过实验箱上的xf指示灯观察程序运行结果 2、实验过程 启动ccs 2.0,并加载“exp01.out”;加载完毕后,单击“run”运行程序; 五、实验结果 可见xf灯以一定频率闪烁;单击“halt”暂停程序运行,则xf灯停止闪烁,如再单击 “run”,则“xf”灯又开始闪烁; 关闭所有窗口,本实验完毕。 六、源程序代码及注释流程图: 实验二资料存储实验 一、实验目的 掌握tms320c54的程序空间的分配;掌握tms320c54的数据空间的分配;熟悉操作 tms320c54数据空间的指令。 二、实验设备 计算机,ccs3.3版软件,dsp仿真器,实验箱。 三、实验系统相关资源介绍 本实验指导书是以tms32ovc5410为例,介绍相关的内部和外部内存资源。对于其它类型 的cpu请参考查阅相关的资料手册。下面给出tms32ovc5410的内存分配表: 对于存储空间而言,映像表相对固定。值得注意的是内部寄存器与存储空间的映像关系。 因此在编程应用时这些特定的空间不能作其它用途。对于篇二:31北邮dsp软件实验报告北京邮电大学 dsp软件

数字信号处理实验答案完整版

数字信号处理实验答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

数字信号处理实验1认识实验

实验1认识实验-MATLAB语言上机操作实践 一、实验目的 ㈠了解MATLAB语言的主要特点、作用。 ㈡学会MATLAB主界面简单的操作使用方法。 ㈢学习简单的数组赋值、运算、绘图、流程控制编程。 二、实验原理 ㈠简单的数组赋值方法 MATLAB中的变量和常量都可以是数组(或矩阵),且每个元素都可以是复数。 在MATLAB指令窗口输入数组A=[1 2 3;4 5 6;7 8 9],观察输出结果。然后,键入:A(4,2)= 11 键入:A (5,:) = [-13 -14 -15] 键入:A(4,3)= abs (A(5,1)) 键入:A ([2,5],:) = [ ] 键入:A/2 键入:A (4,:) = [sqrt(3) (4+5)/6*2 –7] 观察以上各输出结果。将A式中分号改为空格或逗号,情况又如何?请在每式的后面标注其含义。 2.在MATLAB指令窗口输入B=[1+2i,3+4i;5+6i ,7+8i], 观察输出结果。 键入:C=[1,3;5,7]+[2,4;6,8]*i,观察输出结果。 如果C式中i前的*号省略,结果如何? 键入:D = sqrt (2+3i) 键入:D*D 键入:E = C’, F = conj(C), G = conj(C)’ 观察以上各输出结果, 请在每式的后面标注其含义。 3.在MATLAB指令窗口输入H1=ones(3,2),H2=zeros(2,3),H3=eye(4),观察输出结果。 ㈡、数组的基本运算 1.输入A=[1 3 5],B= [2 4 6],求C=A+B,D=A-2,E=B-A 2.求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B, F5=B.\A, F6=B.^A, F7=2./B, F8=B.\2 *3.求B',Z1=A*B’,Z2=B’*A 观察以上各输出结果,比较各种运算的区别,理解其含义。 ㈢、常用函数及相应的信号波形显示 例1:显示曲线f(t)=2sin(2πt),(t>0) ⅰ点击空白文档图标(New M-file),打开文本编辑器。 ⅱ键入:t=0:0.01:3; (1) f=2*sin(2*pi*t); (2) plot(t,f); title(‘f(t)-t曲线’); xlabel(‘t’),ylabel(‘f(t)’);

相关主题
文本预览
相关文档 最新文档