文档库 最新最全的文档下载
当前位置:文档库 › 史上最全数字信号处理实验报告完美版

史上最全数字信号处理实验报告完美版

史上最全数字信号处理实验报告完美版
史上最全数字信号处理实验报告完美版

实验一、零极点分布对系统频率响应的影响

Y(n)=x(n)+ay(n-1)

1、调用MATLAB函数freqz计算并绘制的幅频特性和相频特性其中:1 代表a=0.7;2代表a=0.8;3代表a=0.9

a=0.7时的零极点图

A=0.8时的零极点图

a=0.9时的零极点图

观察零极点的分布与相应曲线易知:

小结:系统极点z=a,零点z=0,当B点从w=0逆时针旋转时,在w=0点,由于极点向量长度最短,形成波峰,并且当a越大,极点越接近单位圆,峰值愈高愈尖锐;在w=pi点形成波谷;z=0处零点不影响幅频响应

2、先求出系统传函的封闭表达式,通过直接计算法得出的幅频特性和相频特性曲线。

其中:1代表a=0.7;2代表a=0.8;3代表a=0.9

附录程序如下:(对程序进行部分注释)

>> a=0.7;

w=0:0.01:2*pi;%设定w的范围由0到2π,间隔为0.01

y=1./(1-a*exp(-j*w)); %生成函数

subplot(211);plot(w/2/pi,10*log(abs(y)),'g');%生成图像其中通过调用abs函数计算幅值

hold on;

xlabel('Frequency(Hz)');%定义横坐标名称

ylabel('magnitude(dB)');%定义纵坐标名称

title('a=0.8,直接计算h(ejw)');grid on;%定义图片标题

subplot(212);plot(w/2/pi,unwrap(angle(y)),'g');grid on;%生成图像其中通过调用angle计算相角,‘g’为规定线条颜色

hold on;

>> a=0.8;

w=0:0.01:2*pi;

y=1./(1-a*exp(-j*w));

subplot(211);plot(w/2/pi,10*log(abs(y)),'r');

hold on;

xlabel('Frequency(Hz)');

ylabel('magnitude(dB)');

title('a=0.8,直接计算h(ejw)');grid on;

subplot(212);plot(w/2/pi,unwrap(angle(y)),'r');grid on;

hold on;

>> a=0.9;

w=0:0.01:2*pi;

y=1./(1-a*exp(-j*w));

subplot(211);plot(w/2/pi,10*log(abs(y)),'b');

hold on;

xlabel('Frequency(Hz)');

ylabel('magnitude(dB)');

title('a=0.9,直接计算h(ejw)');grid on;

subplot(212);plot(w/2/pi,unwrap(angle(y)),'b');grid on;

hold on;

2、y(n)=x(n)=ax(n-1)

通过调用freqz函数绘图,其中:1代表a=0.7,;2代表a=0.8;3代表a=0.9

附录程序如下:(因为程序同实验一相同不再进行注释)a=0.7;

A=1;

B=[1,a];

freqz(B,A,256,'whole',1);

title('a=0.7');

hold on;

a=0.8;

A=1;

B=[1,a];

freqz(B,A,256,'whole',1);

title('a=0.8');

hold on;

a=0.9;

A=1;

B=[1,a];

freqz(B,A,256,'whole',1);

title('a=0.9');

以下为a为不同数值时的零极点图

a=0.7

A=0.8

A=0.9

小结:系统极点z=0,零点z=a,当B点从w=0逆时针旋转时,在w=0点,由于零点向量长度最长,形成波峰:在w=pi点形成波谷;z=a处极点不影响相频响应。

3、y(n)=1.273y(n-1)-0.81y(n-2)+x(n)+x(n-1)

通过调用freqz函数绘制响应曲线如下:

附录程序如下:

A=[1,-1.273,0.81];

B=[1,1];

freqz(B,A,256,'whole',1);

峰值频率:

谷值频率:

零极点分布图:

小结:系统极点z1=0.79+j0.62*1.62^(-2),z2=0.79-j0.62*1.62^(-2)零点z1=-1,z2=0当B点从w=0逆时针旋转时,当旋转到接近极点z1=0.79+j0.62*1.62^(-2)是极点向量长度最短,幅度特性出现峰值。当转到w=pi点形成波谷;z=a处零点不影响幅频响应。当旋转到接近极点z2=0.79-j0.62*1.62^(-2)是极点向量长度再次最短,幅度特性再次出现峰值。

实验总结:

当旋转点转到极点附近时,幅度特性出现峰值,并且极点越靠近单位圆,峰值越尖锐。如果极点在单位圆上,系统不稳定。当旋转点转到零点附近时,幅度特性出现谷值,并且零点越靠近单位圆,谷值越接近零,零点在单位圆上时,谷值为零。所以:极点位置主要影响频响的峰值位置及尖锐程度,零点主要影响频响的谷值位置及形状。

实验二、信号截断及补零对频谱的影响

N<30时,取N=20

1)N=20 补零2*30

T=0.001;

t=-0.2:T:0.2;%设定时间间隔

f1=100;f2=120;%设定频率

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);%编写函数

figure(1);subplot(211);plot(t,x);xlabel('t/s');title('连续信号及频谱图');grid on;%绘制第一幅图以及命名。

omg1=f1;omg2=f2;%设定创建函数的变量

X_freq=1/2*(impseq(omg1,-150,150)+impseq(-omg1,-150,150)+impseq(omg2,-150,150)+impseq( -omg2,-150,150));%通过调用创建的函数impseq来求取相应频率对应的幅度值

f_hz=-150:150;

figure(1);subplot(212);plot(f_hz,X_freq);xlabel('f/Hz');ylabel('幅值');grid on;%绘图以及标明X、y 轴的单位

下图为n=20时的没有补零以及补零2*30、7*30、20*30后的频谱图。

附录程序如下:

fs=600;x2=0;%设定采样信号的频率

x2=cos(2*pi*f1*(0:40)/fs)+cos(2*pi*f2*(0:40)/fs);%创建函数,并截断函数其范围为0到40

N=20;L=20;%N表示采样点数,L表示进行傅立叶变换的点数

x3=0;f_axis=0;%初始化工作

x3=x2(1:N);

x_pu=fft(x3);一维傅里叶变换,将时域信号转换为频域信号。

f_axis=k_to_fs(fs,L);%%%%%%%%%%%使横坐标k能用频率fs表示%%%%

%也可以用如下更为简单的函数形式实现

%f_axis=-fs/2+(0:L-1)*fs/l;

figure(2);subplot(411);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=20,没有补零');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

%采样信号补零后的频谱图

L=20+2*30;

x_pu=fft(x3,L);

f_axis=k_to_fs(fs,L);

figure(2);subplot(412);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=20,补零2*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;绘制离散序列的火柴杆图。其中通过fftshift函数实现对fft傅里叶变换后的坐标处理,使得零频率分量移到坐标中心。

L=20+7*30;

x_pu=fft(x3,L);一维傅里叶变换,并补l个个数个零。

f_axis=k_to_fs(fs,L);

figure(2);subplot(413);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=20,补零7*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

L=20+20*30;

x_pu=fft(x3,L);

f_axis=k_to_fs(fs,L);

figure(2);subplot(414);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=20,补零20*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

以下为实验中不同补零情况的的分图(为了更清楚的观察)

2)N=20 补零7*30

N=20 补零20*30

N>30时,取N=40

1)N=40 补零2*30

T=0.001;

t=-0.2:T:0.2;

f1=100;f2=120;

x=cos(2*pi*f1*t)+cos(2*pi*f2*t);

figure(1);subplot(211);plot(t,x);xlabel('t/s');title('连续信号及频谱图');grid on;

omg1=f1;omg2=f2;

X_freq=1/2*(impseq(omg1,-150,150)+impseq(-omg1,-150,150)+impseq(omg2,-150,150)+impseq( -omg2,-150,150));

f_hz=-150:150;

figure(1);subplot(212);plot(f_hz,X_freq);xlabel('f/Hz');ylabel('幅值');grid on;

%采样信号的频谱

下图为n=40时,没有补零、补零2*30、7*30、20*30时的频谱图。

附录程序(除了改变参数外,其他均相同,故不再对函数进行注释)

fs=600;x2=0;

x2=cos(2*pi*f1*(0:40)/fs)+cos(2*pi*f2*(0:40)/fs);

N=40;L=40;%N表示采样点数,L表示进行傅立叶变换的点数

x3=0;f_axis=0;%初始化工作

x3=x2(1:N);

x_pu=fft(x3);

f_axis=k_to_fs(fs,L);%%%%%%%%%%%使横坐标k能用频率fs表示%%%%

%也可以用如下更为简单的函数形式实现

%f_axis=-fs/2+(0:L-1)*fs/l;

figure(2);subplot(411);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=40,没有补零');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

%采样信号补零后的频谱图

L=40+2*30;

x_pu=fft(x3,L);

f_axis=k_to_fs(fs,L);

figure(2);subplot(412);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=40,补零2*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

L=40+7*30;

x_pu=fft(x3,L);

f_axis=k_to_fs(fs,L);

figure(2);subplot(413);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=40,补零7*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

N=40 补零20*30

更改后程序如下:

%采样信号补零后的频谱图

L=40+20*30;

x_pu=fft(x3,L);

f_axis=k_to_fs(fs,L);

figure(2);subplot(414);plot(f_axis,abs(fftshift(x_pu)));xlabel('f/Hz,N=40,补零20*30');ylabel('幅值');grid on; hold on;

stem(f_axis,abs(fftshift(x_pu)));hold off;

以下为分开的图片:

N=40 补零7*30

附录创建的另个函数的程序:

impseq函数

function[f,omg]=impseq(omg0,omg1,omg2)

omg=[omg1:omg2];

f=[(omg-omg0)==0];

k_to_fs函数

function f_axis=k_to_fs(fs,N)

for k=0:N-1

if(k<=N/2-1)

f_axis(k+1+N/2)=fs/N*k;

else

f_axis(k+1-N/2)=fs/N*(k-N);

end

end

实验总结:

信号截断对频谱的影响:

运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,从而对频谱产生两方面的影响:一是会影响频谱分辨率;二是使频谱产生泄漏。

截断时采用的窗函数的主瓣宽度N影响频率分辨率(信号的频率分辨率为Fs/N),而边瓣则会影响频谱的泄漏,产生能量的泄漏,使得信号失真。

补零对于频谱的影响:

由以上几幅图进行对比可知:对于n=20和n=40时分辨率有着明显的不同,n=40时可以明显的区分两个频率,而在n=20时则不能。所以当提高窗函数的宽度的时候可以明显的提高物理分辨率。而对于补零来说并没有增加有效的数据长度T或M(宽度),因而不可能增加原数据的新的信息,并不能依靠补零将两个靠的很近的谱峰分开,只能提高计算分辨率,不能提高物理分辨率。但补零一方面可以使数据为2的N次幂,以便于快速傅里叶换算,并且在一定程度上补零可以对截断时产生的泄漏进行克服。

问答题:

1、答:对于连续时间周期信号而言,其Fourier级数就是他的一个周期的截取后的非周期信号的的傅立叶变换采样,连续时间信号采样后所得到的离散信号的DTFT可看成原来连续时间傅立叶变换在横轴做一下模拟——数字频率变换后进行周期延拓而成。离散傅里叶变换可以看成DTFT在主值区间(0到2*pi)的等间隔采样。

2、答:幅值相同,只是补零后的频谱相当于在补零前的频谱中插入(2^n)-1条谱线。与补零前的频谱中相重合的谱线,它们的幅值和相位完全一致。

3、答:混叠现象:由于采样信号频谱发生变化,而出现高、低频成分发生混淆的一种现象。抽样时频率不够高,抽样出来的点既代表了信号中的低频信号的样本值,也同时代表高频信号样本值,在信号重建的时候,高频信号被低频信号代替,两种波形完全重叠在一起,形成严重失真。

泄漏现象:在实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数w(n)。根据频域卷积定理,时域中x(n)和w(n)相乘对应于频域中它们的离散傅立叶变换X(jw)和W(jw)的卷积。因此,x(n)截矩后的频谱不同于它以前的频谱

栅栏现象:对一函数实行采样,即是抽取采样点上的对应的函数值。其效果如同透过栅栏的缝隙观看外景一样,只有落在缝隙前的少数景象被看到,其余景象均被栅栏挡住而视为零,这种现象称为栅栏效应,不管是时域采样还是频域采样,都有相应的栅栏效应。只是当时域采样满足采样定理时,栅栏效应不会有什么影响。而频域采样的栅栏效应则影响很大。

实验体会:

Matlab在工程中应用非常广泛,但是由于学得不够好,给本次实验带来不小问题,要努力学习使用MATLAB了。

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向量表,将程

数字信号处理实验报告

数字信号处理作业提交日期: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 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

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)

数字信号处理实验报告

实验一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 ) 条状图形

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

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实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

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,添加工程所需文件;

数字信号处理实验报告(实验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;

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

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)技术是用来抑制各种杂波,来实现检测或者显示运动目标的技术。利用它可以抑制固定目标的信号,显示运动目标的信号。以线性调频

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

信息科学与技术学院本科三年级 数字信号处理实验报告 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软件

DSP运行实验报告

DSP运行实验报告 一、实验目的 熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行; 熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。 二、实验原理 CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。 如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。 在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。 三、实验设备、仪器及材料 安装有WINDOWS XP操作系统和CCS3.3的计算机。 四、实验步骤(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运行。 第一步:安装CCS,如果不使用仿真器,CCS 的运行环境要设置成一个模拟仿真器(软仿真)。

第二步:运行CCS,进入CCS 开发环境。 第三步:打开一个工程。 将实验目录下的EXP01目录拷到D:\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“Project Open”对话框中选 EXP01\CPUtimer\CpuTimer.pjt,选“打开”, 第四步:编译工程。 在[Project]菜单中选“Rebuild All”,生成CpuTimer.out文件。 第五步:装载程序。 用[File]\[Load Program]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug 文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。

数字信号处理实验报告

3.(1)用双线性变换法设计一个Chebyshev型高通滤波器程序如下 Rp=1.2;Rs=20;T=0.001;fp=300;fs=200; wp=2*pi*fp*T;ws=2*pi*fs*T; wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2); [n,wn]=cheb1ord(wp1,ws1,Rp,Rs,'s'); [b,a]=cheby1(n,Rp,wn,'high','s'); [bz,az]=bilinear(b,a,1/T); [db,mag,pha,grd,w]=freqz_m(bz,az);plot(w/pi,db); axis([0,1,-30,2]); 3.(2) a用双线性变换法设计一个Butterworth型数字低通滤波器程序如下Rp=1;Rs=25;T=0.001;fp=300;fs=200; wp=2*pi*fp*T;ws=2*pi*fs*T; wp1=(2/T)*tan(wp/2);ws1=(2/T)*tan(ws/2); [n,wn]=buttord(wp1,ws1,Rp,Rs,'s'); [b,a]=butter(n,wn,'low','s'); [bz,az]=bilinear(b,a,1/T); [db,mag,pha,grd,w]=freqz_m(bz,az);plot(w/pi,db); axis([0,1,-30,2]); b用脉冲响应不变法设计一个Butterworth数字低通滤波器的程序如下:wp=400*pi;ws=600*pi;Rp=1;Rs=25; [n,wn]=buttord(wp,ws,Rp,Rs,'s') [b,a]=butter(n,wn,'s') [db,mag,pha,w]=freqs_m(b,a,500*2*pi);

dsp实验报告 哈工大实验三 液晶显示器控制显示实验

实验三液晶显示器控制显示实验 一. 实验目的 通过实验学习使用2407ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。 二. 实验设备 计算机,ICETEK-LF2407-EDU 实验箱。 三.实验原理 ICETEK-LF2407-A 是一块以TMS320LF2407ADSP 为核心的DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。 液晶显示模块的访问、控制是由2407ADSP 对扩展I/O 接口的操作完成。 控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O 接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。 显示控制方法: ◆液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数 值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与象素的对应 方式如下: ◆发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口 写入命令控制字,然后再向辅助控制接口写入0。下面给出的是基本命令字、解释 和 C 语言控制语句举例。 ?显示开关:0x3f 打开显示;0x3e 关闭显示; ?设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63; ?设置操作页:0x0b8+页号,其中页号取值为0-7; ?设置操作列:0x40+列号,其中列号为取值为0-63; ◆写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的 数据写入液晶显示模块的缓存。将数据发送到相应数据控制I/O 接口即可。

数字信号处理实验报告

数字信号处理实验 利用FFT对信号进行频谱分析

一 实验目的 学习用FFT FFT 。 二 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱因此N 要适当选择大一些。 三 实验内容 1.模拟信号)8cos(5)4sin(2)(t t t x ππ+=,以)1:0(01.0-==N n n t 进行采样,求: (1)N =40点FFT 的幅度频谱,从图中能否观察出信号的2个频谱分量? (2)提高采样点数,如N =128,256,512,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT 频谱分析结果与理论上是否一致? 实验代码: clc;clear all; N=40; % N=128;%%%%%%对N 的值进行改变 % N=256; % N=512; n=0:N-1; t=0.01*n; x=2*sin(4*pi*t)+5*cos(8*pi*t);

x1=x(1:N);X1=fft(x1,2048); figure, subplot(211),plot(0:N-1,x1);xlabel('n');ylabel('x(n)');title('时域波形');grid; subplot(212),plot(abs(X1));xlabel('k');ylabel('|X(k)|');title('幅频特性');grid; set(gcf,'color','w'); N=40 N=128

相关文档
相关文档 最新文档