大学dsp实验心得体会.docx
- 文档编号:7320444
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:15
- 大小:21.36KB
大学dsp实验心得体会.docx
《大学dsp实验心得体会.docx》由会员分享,可在线阅读,更多相关《大学dsp实验心得体会.docx(15页珍藏版)》请在冰豆网上搜索。
大学dsp实验心得体会
大学dsp实验心得体会
通过本次大学dsp实验,加深了我对DSP的认识,使我对DSP实验的操作有了更进一步的理解。
基本掌握了CCS实验环境的使用,并能够使用C语言进行简单的DSP程序设计。
下面是为大家收集整理的大学dsp实验心得体会,欢迎大家阅读。
大学dsp实验心得体会篇1实验报告
一、实验室名称:
数字信号处理实验室
二、实验项目名称:
多种离散时间信号的产生
三、实验原理:
1、基本离散时间信号
利用MATLAB强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB函数来构成信号。
常见的基本信号可以简要归纳如下:
(1).单位采样序列
1n=0(n)=0n0
在MATLAB中可以利用zeros()函数实现。
x=zeros(1,N);
x
(1)=1;
如果(n)在时间轴上延迟了k个单位,得到(n-k)即:
(n-k)=
(2).单位阶跃序列1n=k0n0
1n0u(n)=0n0
在MATLAB中可以利用ones()函数实现。
x=ones(1,N);
(3).正弦序列
x(n)=Asin(2fn+)
采用MATLAB的实现方法,如:
n=0:
N-1
x=A*sin(2*pi*f*n+)
(4).实指数序列
x(n)=Aan
其中,A、a为实数。
采用MATLAB的实现方法,如:
n=0:
N-1
x=a.
(5).复指数序列
x(n)=Aen=0:
N-1采用MATLAB的实现方法,如:
x=A*exp((+j*0)*n)
为了画出复数信号x[n],必须要分别画出实部和虚部,或者幅值和相角。
MATLAB函数real、imag、abs和angle可以逐次计算出一个复数向量的这些函数。
2、基本数字调制信号
(1).二进制振幅键控(2ASK)
最简单的数字调制技术是振幅键控(ASK),即二进制信息信号直接调制模拟载波的振幅。
二进制幅度键控信号的时域表达式:
SASK(t)=[ang(t-nTs)]cosct
其中,an为要调制的二进制信号,gn(t)是单极性脉冲信号的时间波形,Ts表示调制的信号间隔。
(+j0)n典型波形如下:
图11二进制振幅键控信号时间波形
(2).二进制频移键控(2FSK)
在二进制数字调制中,若正弦载波的频率随二进制基带信号在f1和f2两个频率点间变化,则产生
二进制移频键控信号(2FSK信号)。
二进制频域键控已调信号的时域表达式为:
S2FSK(t)=ang(t-nTS)cos1t+ng(t-nTS)cos2tnn这里,1=2f1,2=2f2,an是an的反码。
an
载波信号1t载波信号2t
2FSK信号t
(3).二进制相移键控(2PSK或BPSK)
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。
通常用已调信号载波的0和180分别表示二进制数字基带信号的1和0。
二进制移相键控信号的时域表达式为:
S2PSK(t)=ang(t-nTS)cos(ct+i),i=0或
n
(3).二进制相移键控(2PSK或BPSK)
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。
通常用已调信号载波的0和180分别表示二进制数字基带信号的1和0。
二进制移相键控信号的时域表达式为:
S2PSK(t)=ang(t-nTS)cos(ct+i),i=0或
n
因此,DTMF信号可以看作两个有限长度的正弦序列相加,正弦信号的频率由按键数字或字母符号对应的频率决定。
如,数字8由行频852Hz和列频1336Hz决定。
四、实验目的:
1、掌握几种基本的离散时间信号(包括单位采样序列,单位阶跃序列,单频正弦序列,单频复指
数序列,实指数序列等)。
2、能够熟练利用MATLAB产生这些基本的离散时间信号。
3、理解双音多频DTMF信号、ASK、FSK、BPSK等信号的产生原理。
4、学习并运用MATLAB产生各种通信中的调制信号及双音多频信号。
五、实验内容:
1、对几种基本离散时间信号(包括单位采样序列,单位阶跃序列,正弦序列,复指数序列,实指数序列等)在MATLAB中编程产生。
2、(拓展要求)利用MATLAB编程产生2ASK,2FSK,2PSK等数字调制信号。
3、(拓展要求)利用MATLAB编程产生理解双音多频DTFM信号。
4、(拓展要求)利用MATLAB编程产生高斯白噪声序列。
5、(拓展要求)利用MATLAB中的谱分析函数对正弦信号的频谱进行分析。
6、通过硬件(DSP)实验箱演示上述信号的时域(示波器)波形与频域波形(计算结果)。
六、实验器材(设备、元器件):
安装MATLAB软件的PC机一台,DSP实验演示系统一套。
七、实验步骤:
1、在-20n20内,画出单位下列信号:
(a).单位采样序列x1[n]=[n]和单位阶跃序列x2[n]=u[n]的时域波形图。
(b).y1[n]=x1[n+5]、y2[n]=x2[n-8]的波形。
说明x1[n]与y1[n]、x2[n]与y2[n]之间的关系。
2、画出下列信号在0n100内的波形。
nx3[n]=sin16
nx4[n]=sin2
n3nx5[n]=cos+cos128
观察x3[n]、x4[n]、x5[n]是否周期信号。
如果是周期信号,信号的基波周期是什么?
如果不是
周期信号,说明原因。
3、在0n30内,画出下列信号:
nx6[n]=0.2(0.8)(-1/12+j/6)nx7[n]=e对于复数序列,要求分别画出实部和虚部;幅值和相角。
若把x6[n]中的底数0.8分别改为1.2、
-0.8,讨论产生的时域波形有何变化。
总结指数序列的底数对序列变化的影响。
4、(拓展要求)设计产生数字二进制序列:
101010的2ASK、2FSK、2PSK调制信号。
已
知符号速率Fd=10Hz(即时间间隔Ts为0.1),输出信号的采样频率为20Hz。
(a).2ASK信号的载波频率Fc=5Hz,
(b).2FSK信号载波1频率F1=5Hz,载波2频率F2=1Hz。
(c).2PSK载波频率Fc=1Hz。
分别画出以上信号调制前后的时域波形图。
5、(拓展要求)利用MATLAB产生DTMF双音多频信号。
画出数字0的时域波形图。
6、(拓展要求)MATLAB函数randn(1,N)可以产生均值为0,方差为1的高斯随机序列,也就是
白噪声序列。
试利用randn函数产生均值为0.15,方差为0.1的高斯白噪声序列x8[n],要求序列时域范围为0n100。
画出时域波形图。
同时将实验步骤2中产生的信号x2[n]与x8[n]相加,将得到的波形与x2[n]的波形做比较。
7、(拓展要求)利用MATLAB中的谱分析函数画出x3[n]、x4[n]、x5[n]的频谱。
与理论上根据傅
立叶变换的定义计算出的x3[n]、x4[n]、x5[n]的频谱进行比较。
8、通过硬件(DSP)实验箱演示上述信号的时域(示波器)波形与频域波形(计算结果)。
八、实验数据及结果分析:
程序:
(1)产生x1[n]、x2[n]、y1[n]、y2[n]、x3[n]、x4[n]、x5[n]、x6[n]、x7[n]序列的程序
(2)产生2ASK、2FSK、2PSK调制信号的程序(拓展要求)
(3)产生DTMF信号的程序(拓展要求)
(4)高斯白噪声序列的产生程序(扩展要求)
(4)正弦信号频谱分析的程序(扩展要求)
clearall;
clc;
n=101;
%单位采样序列
x1=zeros(1,n);
x1
(1)=1;
x1=[zeros(1,100),x1];
%单位阶跃序列
x2=ones(1,n);
x2=[zeros(1,100),x2];
%
n1=0:
n-1;
yn1=n1-5;
yn2=n1+8;
%100;
Fs=1000;
n2=0:
100;
%正弦序列
x3=sin(2*pi*n2/32);
x4=sin(n2/2);
x5=sin(pi*n2/12)+cos(3*pi*n2/8);
%指数序列
n3=0:
30;
x61=0.2*(0.8.
3);%实指数序列
x62=0.2*(1.2.
3);
x63=0.2*((-0.8).
3);
x7=exp((-1/12+1i*pi/6)*n3);%复指数序列
%画出图形
figure
(1)
subplot(2,2,1),stem(n1,x1),title(x1),axis([-20,20,0,1]);
subplot(2,2,2),stem(n1,x2),title(x2),axis([-20,20,0,1]);
subplot(2,2,3),stem(yn1,x1),title(y1),axis([-20,20,0,1]);
subplot(2,2,4),stem(yn2,x2),title(y2),axis([-20,20,0,1]);
figure
(2)
subplot(3,1,1),stem(n2,x3),title(x3),axis([0,100,-1,1]);
subplot(3,1,2),stem(n2,x4),title(x4),axis([0,100,-1,1]);
subplot(3,1,3),stem(n2,x5),title(x5),axis([0,100,min(x5),max(x5)]);
figure(3)
subplot(3,1,1),stem(n3,x61),title(x6a=0.8),axis([0,30,min(x61),max(x61)]);
subplot(3,1,2),stem(n3,x62),title(x6a=1.2),axis([0,30,min(x62),max(x62)]);
subplot(3,1,3),stem(n3,x63),title(x6a=-0.8),axis([0,30,min(x63),max(x63)]);
figure(4)
subplot(4,1,1),stem(n3,abs(x7)),title(x7幅值),axis([0,30,min(abs(x7)),max(abs(x7))]);
subplot(4,1,2),stem(n3,angle(x7)),title(x7相角),axis([0,30,min(angle(x7)),max(angle(x7))]);subplot(4,1,3),stem(n3,imag(x7)),title(x7虚部),axis([0,30,min(imag(x7)),max(imag(x7))]);subplot(4,1,4),stem(n3,real(x7)),title(x7实部),axis([0,30,min(real(x7)),max(real(x7))]);%调制
x_base=[1,0,1,0,1,0];
Fd=10000;
t=linspace(0,0.6,6*Fd);
if(x_base
(1)==1)
m=ones(1,Fd);
elseif(x_base
(1)==0)
m=zeros(1,Fd);
end
fori=2:
6
if(x_base(i)==1)
m=[m,ones(1,Fd)];
elseif(x_base(i)==0)
m=[m,zeros(1,Fd)];
end
end
%2ASK
Fc_A=5;
S_ask=m.*cos(2*pi*Fc_A*t);
%
figure(5)
subplot(4,1,1),stem(0:
0.1:
0.5,x_base),title(序列An),axis([0,0.6,0,1]),xlabel(s
subplot(4,1,2),plot(t,m),title(mt),axis([0,0.6,0,1.5]),title(mt),xlabel(s
subplot(4,1,3),plot(t,cos(2*pi*Fc_A*t)),title(mt),axis([0,0.6,-1.2,1.2]),title(载波信号),xlabel(ssubplot(4,1,4),plot(t,S_ask),title(mt),axis([0,0.6,-1.2,1.2]),title(2ASK调制信号),xlabel(s%2FSK
F1=5;F2=1;
s1=m.*cos(2*pi*F1*t);
s2=(1-m).*cos(2*pi*F2*t);
S_fsk=s1+s2;
figure(6)
subplot(4,1,1),plot(t,m),axis([0,0.6,0,1.5]),title(mt),xlabel(s
subplot(4,1,2),plot(t,s1),axis([0,0.6,-1.2,1.2]),title(载波信号1F=5Hz)),xlabel(s
subplot(4,1,3),plot(t,s2),axis([0,0.6,-1.2,1.2]),title(载波信号2F=1Hz),xlabel(s
subplot(4,1,4),plot(t,S_fsk),axis([0,0.6,-1.2,1.2]),title(2FSK调制信号),xlabel(s
%2PSK
Fc_P=1;
S_psk=(2*m-1).*cos(2*pi*Fc_P*t+pi);
figure(7)
subplot(4,1,1),plot(t,2*m-1),axis([0,0.6,-1.5,1.5]),title(mt),xlabel(s
subplot(4,1,2),plot(t,cos(2*pi*Fc_P*t+pi)),axis([0,0.6,-1.2,1.2]),title(正相载波信号),xlabel(ssubplot(4,1,3),plot(t,-cos(2*pi*Fc_P*t+pi)),axis([0,0.6,-1.2,1.2]),title(反相载波信号),xlabel(ssubplot(4,1,4),plot(t,S_psk),axis([0,0.6,-1.2,1.2]),title(2PSK调制信号),xlabel(s
%DTFM
t_dt=linspace(0,0.02,10000);
x_dtfm=cos(2*pi*941*t_dt)+cos(2*pi*1366*t_dt);
plot(t_dt,x_dtfm);
%rand
N=201;
x8=sqrt(0.1)*randn(1,N)+0.15;
x_rnd=x2+x8;
figure(8)
subplot(3,1,1),stem(n1,x2),title(X2
subplot(3,1,2),stem(n1,x8),title(高斯信号
subplot(3,1,3),stem(n1,x_rnd),title(加噪声后X2
%FFT
N_smp=length(n2);
fre=linspace(-1,1,N_smp)*Fs/2;
y3=abs(fftshift(fft(x3)));
y4=abs(fftshift(fft(x4)));
y5=abs(fftshift(fft(x5)));
figure(9)
subplot(3,1,1),plot(fre,y3),xlabel(Hz),title(X3频谱),xlabel(频率Hz),axis([-100,100,1.2*min(y3),1.2*max(y3)]);
subplot(3,1,2),plot(fre,y4),xlabel(Hz),title(X4频谱),xlabel(频率Hz),axis([-200,200,1.2*min(y4),1.2*max(y4)]);
subplot(3,1,3),plot(fre,y5),xlabel(Hz),title(X5频谱),xlabel(频率Hz),axis([-300,300,1.2*min(y5),1.2*max(y5)]);
结果:
(1)x1[n]、x2[n]、y1[n]、y2[n]、x3[n]、x4[n]、x5[n]、x6[n]、x7[n]的时域波形
(2)信号的时移:
x1[n]与y1[n]、x2[n]与y2[n]之间的关系。
答:
y1[n]相当于x1[n]向左平移5个单位,y2[n]相当于将x2[n]向右平移8个单位
大学dsp实验心得体会篇2基础实验
一、实验目的
二、实验设备
三、实验原理
浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理1.一台装有CCS软件的计算机;2.DSP实验箱的TMS320F2812主控板;3.DSP硬件仿真器。
1.掌握CCS实验环境的使用;2.掌握用C语言编写DSP程序的方法。
中经常用到的运算;C语言是现代数字信号处理表达的基础语言和通用语言。
写实现程序时需要注意两点:
(1)浮点数的范围及存储格式;
(2)DSP的C语言与ANSIC语言的区别。
四、实验步骤
1.打开CCS并熟悉其界面;
2.在CCS环境中打开本实验的工程(Example_base.pjt),编译并重建.out输出文件,然后通过仿真器把执行代码下载到DSP芯片中;
3.把X0,Y0和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择AddWatchWindow命令);
4.选择view-graph-time/frequency。
设置对话框中的参数:
其中StartAddress
设为sin_value,Acquisitionbuffersize和DisplayDatasize都设为100,并且把DSPDataType设为32-bitfloatingpoint,
设置好后观察信号序列的波形(sin函数,如图);
5.单击运行;
6.观察三个变量从初始化到运算结束整个过程中的变化;观察正弦波形从初始化到运算结束整个过程中的变化;
7.修改输入序列的长度或初始值,重复上述过程。
五、实验心得体会
通过本次实验,加深了我对DSP的认识,使我对DSP实验的操作有了更进一步的理解。
基本掌握了CCS实验环境的使用,并能够使用C语言进行简单的DSP程序设计。
从软件的安装到使用软件进行程序设计与仿真,锻炼了自己的动手能力,也遇到了不少的坎坷,例如芯片的选择,不能因为麻烦而省略该步骤,否则将会运行出错。
大学dsp实验心得体会篇3//EnablePWMpins;GpioMuxRegs.GPAMUX.all=0;GpioMuxRegs.GPBMUX.all=0;EDIS;;//Step3.Clearallinterrup;//DisableCPUinterrupts;DINT;;//InitializethePIEcontro;//ThedefaultstateisallPI;//ar
//EnablePWMpins
GpioMuxRegs.GPAMUX.all=0x00FF;//EVAPWM1-6pins
GpioMuxRegs.GPBMUX.all=0x00FF;//EVBPWM7-12pins
EDIS;
//Step3.ClearallinterruptsandinitializePIEvectortable:
//DisableCPUinterrupts
DINT;
//InitializethePIEcontrolregisterstotheirdefaultstate.
//ThedefaultstateisallPIEinterruptsdisabledandflags
//arecleared.
//ThisfunctionisfoundintheDSP281x_PieCtrl.cfile.
InitPieCtrl();
//DisableCPUinterruptsandclearallCPUinterruptflags:
IER=0x0000;
IFR=0x0000;
//InitializethePIEvectortablewithpointerstotheshellInterrupt
//ServiceRoutines(ISR).
//Thiswillpopulatetheentiretable,eveniftheinterrupt
//isnotusedinthisexample.Thisisusefulfordebugpurposes.
//TheshellISRroutinesarefoundinDSP281x_DefaultIsr.c.
//ThisfunctionisfoundinDSP281x_PieVect.c.
InitPieVectTable();
//Step4.InitializealltheDevicePeripherals:
//ThisfunctionisfoundinDSP281x_InitPeripherals.c
//InitPeripherals();//Notrequiredforthisexample
InitXintf();//Forthisexample,inittheXintf
//Step5.Userspecificcode,enableinterrupts:
init_eva();
//init_evb();
while
(1)
{
for(i=0;i65535;i+=1000)
{
Reg06=0;
EvbRegs.CMPR6=i;
delay_loop();
}
}
}
voiddelay_loop()
{shorti,j;
for(i=0;i1000;i++)
{for(j=0;jj++);}
}
voidinit_eva()
{
//EVAConfigureT1PWM,T2PWM,PWM1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 dsp 实验 心得体会