您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页实验1-多种离散时间信号产生

实验1-多种离散时间信号产生

来源:五一七教育网
电 子 科 技 大 学

实 验 报 告

学生姓名:张乐中 学 号:2012019020002 指导教师:杨远望

一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理:

1、基本离散时间信号

利用MATLAB强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB函数来构成信号。常见的基本信号可以简要归纳如下: (1).单位采样序列

(n)

10n0 n0在MATLAB中可以利用zeros()函数实现。

xzeros(1,N);x(1)1;

如果(n)在时间轴上延迟了k个单位,得到(nk)即:

1nk (nk)

0n0(2).单位阶跃序列

n01 u(n)

n00在MATLAB中可以利用ones()函数实现。

xones(1,N);

(3).正弦序列

x(n)Asin(2fn)

采用MATLAB的实现方法,如:

n0:N1

xA*sin(2*pi*f*n)(4).实指数序列

x(n)Aan

其中,A、a为实数。采用MATLAB的实现方法,如:

n0:N1

xa.^n(5).复指数序列

x(n)Ae(j0)n

采用MATLAB的实现方法,如:

n0:N1

xA*exp((j*0)*n) 为了画出复数信号x[n],必须要分别画出实部和虚部,或者幅值和相角。

MATLAB函数real、imag、abs和angle可以逐次计算出一个复数向量的这些函数。

2、基本数字调制信号

(1).二进制振幅键控(2ASK)

最简单的数字调制技术是振幅键控(ASK),即二进制信息信号直接调制模拟载波的振幅。二进制幅度键控信号的时域表达式:

SASK(t)[ang(tnTs)]cosct

n其中,an为要调制的二进制信号,g(t)是单极性脉冲信号的时间波形,Ts 表示调制的信号间隔。典型波形如下:

图 1 – 1 二进制振幅键控信号时间波形

(2).二进制频移键控(2FSK)

在二进制数字调制中,若正弦载波的频率随二进制基带信号在f1和f2两个频

率点间变化,则产生二进制移频键控信号(2FSK信号)。二进制频域键控已调信号的时域表达式为:

S2FSK(t)ang(tnTS)cos1tang(tnTS)cos2t

nn这里,12f1,22f2,an是an的反码。典型波形如下:

an

载波信号1

1 0 1 1 0 0 1 t

载波信号2

t

2FSK信号

t

图 1 – 2 二进制频移键控信号时间波形

(3).二进制相移键控(2PSK或BPSK)

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化

时,则产生二进制移相键控(2PSK)信号。通常用已调信号载波的0°和 180°分别表示二进制数字基带信号的 1 和 0。二进制移相键控信号的时域表达式为:

S2PSK(t)ang(tnTS)cos(cti),i0或

n典型波形如下:

2PSK信号 an 1 0 0 1 T s t 图 1 – 3 二进制相移键控信号时间波形 数字调制信号可以根据调制原理采用基本的MATLAB命令实现,也可以用现成的命令:Y = DMOD(X, Fc, Fd, Fs, METHOD...),其中,X为要调制的二进制信号;Fc为载波频率(Hz);Fd为符号频率(Hz);Fs为采样频率。要求:Fs > Fc,同时Fs/Fd 是一个正整数。参数METHOD是可以选择的调制方式:ask 、psk、qask、fsk、msk等。 3、双音多频DTMF信号

DTMF(Double Tone MulitiFrequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。但绝大部分是用作电话的音频拨号。另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。

DTMF是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8种不同的单音频信号。因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。

根据CCITT的建议,国际上采用的多种频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合见表1-1。

表1-1 双音多频的组合功能

高频群Hz 功能 低频群Hz 1209 1336 1477 1633 697 770 852 941

1 4 7 * 2 5 8 0 3 6 9 # A B C D 因此,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、在20n20内,画出单位下列信号:

(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、画出下列信号在0n100内的波形。

nx3[n]sin16n x4[n]sin2n3nx5[n]coscos128观察x3[n]、x4[n]、x5[n]是否周期信号。如果是周期信号,信号的基波周期是什么?如果不是周期信号,说明原因。

3、在0n30内,画出下列信号:

x6[n]0.2(0.8)nx7[n]e1/12j/6n

对于复数序列,要求分别画出实部和虚部;幅值和相角。若把x6[n]中的底数0.8分别改为1.2、-0.8,讨论产生的时域波形有何变化。总结指数序列的底数对序列变化的影响。

4、(拓展要求)设计产生数字二进制序列:1 0 1 0 1 0 的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],要求序列时域范围为0n100。画出时域波形图。同时将实验步骤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]序列的程序

产生X1[n] X2[n] Y1[n] Y2[n]程序:

n=-20:20; subplot(2,2,1);

x1=zeros(1,41); %产生单位采样序列 x1(21)=1;

stem(n,x1); %绘制单位采样序列 xlabel('时间序号n');ylabel('振幅');

title('单位采样序列x1');axis([-20 20 0 1.2]);

y1=circshift(x1,[0,-5]);

subplot(2,2,2); stem(n,y1);

xlabel('时间序号n');ylabel('振幅');

title('单位采样序列y1');axis([-20 20 0 1.2]);

subplot(2,2,3);

x2=[zeros(1,20) ones(1,21)]; %产生单位阶跃序列 stem(n,x2); %绘制单位阶跃序列 xlabel('时间序号n');ylabel('振幅');

title('单位阶跃序列x2');axis([-20 20 0 1.2]);

subplot(2,2,4);

y2=circshift(x2,[0,8]); y2(1:20)=0; stem(n,y2);

xlabel('时间序号n');ylabel('振幅');

title('单位阶跃序列y2');axis([-20 20 0 1.2]);

产生X3[n] X4[n] X5[n]程序:

n=0:100;

x3=sin(pi*n/16); figure(1)

stem(n,x3);

xlabel('时间序号');ylabel('振幅');

title('正弦序列x3');axis([0 100 -1.2 1.2]);

x4=sin(n/2); figure(2) stem(n,x4);

xlabel('时间序号');ylabel('振幅');

title('正弦序列x4');axis([0 100 -1.2 1.2]);

x5=cos(pi*n/16)+cos(3*n*pi/8); figure(3) stem(n,x5);

xlabel('时间序号');ylabel('振幅');

title('正弦序列x5');axis([0 100 -2.2 2.2]);

产生X6[n] X7[n]的程序:

n=0:30 a=0.2; b=0.8; x6=a*(b.^n);

figure(1); %产生实指数序列 stem(n,x6); %绘制实指数序列 xlabel('时间序号n');ylabel('振幅'); title('实指数序列x6');

d=1;

e=-1/12+i*pi/6; x7=d*exp(e*n); figure(2); subplot(2,1,1) stem(n,real(x7));

xlabel('时间序号');ylabel('振幅'); title('x7实部'); subplot(2,1,2); stem(n,imag(x7));

xlabel('时间序号');ylabel('振幅'); title('x7虚部');

n=0:30; d=1;

e=-1/12+i*pi/6; x7=d*exp(e*n); figure(2); subplot(2,1,1) stem(n,abs(x7));

xlabel('时间序号');ylabel('振幅'); title('x7幅度'); subplot(2,1,2); stem(n,angle(x7));

xlabel('时间序号');ylabel('振幅'); title('x7相位');

将底数0.8改为1.2

将底数0.8改为-0.8

(2)产生2ASK、2FSK、2PSK调制信号的程序(拓展要求) 2ASK:

g=[1 0 1 0 1 0]; T=0.1; W=10*pi; fs=20; x=[]; for n=1:6 if g(n)==0

x=[x zeros(1,10)]; else g(n)==1

x=[x ones(1,10)]; end end

h=[1:60].*0.1/10; figure(1); subplot(3,1,1); plot(h,x);

s=cos(W.*[1:60]/fs); ASK=x.*s; subplot(3,1,2); plot(h,s); subplot(3,1,3); plot(h,ASK);

2FSK:

g=[1 0 1 0 1 0]; T=0.1; fs=20; f1=5; f2=1; x1=[]; x2=[]; for n=1:6 if g(n)==0

x1=[x1 zeros(1,10)];

x2=[x2 ones(1,10)]; else g(n)==1

x1=[x1 ones(1,10)]; x2=[x2 zeros(1,10)]; end end

h=[1:60].*0.1/10; figure(1); subplot(3,2,1); plot(h,x1); subplot(3,2,2); plot(h,x2);

s1=cos(2*pi*f1.*[1:60]/fs); s2=cos(2*pi*f2.*[1:60]/fs); subplot(3,2,3); FSK1=x1.*s1; plot(h,FSK1); subplot(3,2,4); FSK2=x2.*s2; plot(h,FSK2); subplot(3,2,5); FSK=FSK1+FSK2; plot(h,FSK);

2PSK:

g=[1 0 1 0 1 0]; T=0.1; fs=20; f2=1;

x1=[]; x2=[]; for n=1:6 if g(n)==0

x1=[x1 zeros(1,10)]; x2=[x2 ones(1,10)]; else g(n)==1

x1=[x1 ones(1,10)]; x2=[x2 zeros(1,10)]; end end

h=[1:60].*0.1/10; figure(1); subplot(3,2,1); plot(h,x1); subplot(3,2,2); plot(h,x2);

s=cos(2*pi*f2.*[1:60]/fs); subplot(3,2,3); PSK1=x1.*s; plot(h,PSK1); subplot(3,2,4); PSK2=x2.*-s; plot(h,PSK2); subplot(3,2,5); PSK=PSK1+PSK2; plot(h,PSK);

(3)产生DTMF信号的程序(拓展要求)

f1=941; f2=1336; n=1:800;

z=[zeros(1,200) ones(1,400) zeros(1,200)]; x1=cos(2*pi*f1.*n/8000); x2=cos(2*pi*f2.*n/8000); x=x1+x2; x=(x1+x2).*z; figure(1);

plot([1:800]/8000,x);

(4)高斯白噪声序列的产生程序(扩展要求)

n=0:100; figure(1)

subplot(3,1,1); x2=ones(1,101); %产生单位阶跃序列 x8 =0.15 + sqrt(0.1)* randn(1,101);

stem(n,x2); %绘制单位阶跃序列 xlabel('时间序号n');ylabel('振幅');

title('单位阶跃序列x2');axis([0 100 0 1.2]); x9=x2+x8; subplot(3,1,2) stem(n,x8);

xlabel('时间序号n');ylabel('振幅');

title('白噪声序列x8');axis([0 100 0 1.2]); subplot(3,1,3) stem(n,x9);

xlabel('时间序号n');ylabel('振幅'); title('序列x9');axis([0 100 0 1.2]);

(4)正弦信号频谱分析的程序(扩展要求) n=0:100;

x3=sin(pi*n/16); figure(1);

subplot(2,2,1); stem(n,x3);

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x3ʱÓò'); y3=fft(x3); subplot(2,2,2); plot(abs(y3));

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x3ƵÓòµÄ·ù¶ÈÆ×'); subplot(2,2,3); plot(angle(y3));

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù');

title('x3ƵÓòµÄÏàλÆ×');

x4=sin(n/2); figure(2) subplot(2,2,1); stem(n,x4);

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x4ʱÓò'); y4=fft(x4); subplot(2,2,2); plot(n,y4);

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x4ƵÓòµÄ·ù¶ÈÆ×'); subplot(2,2,3); plot(angle(y4));

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x4ƵÓòµÄÏàλÆ×');

x5=cos(pi*n/16)+cos(3*n*pi/8); figure(3) subplot(2,2,1); stem(n,x5);

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x5ʱÓò'); y5=fft(x5); subplot(2,2,2); plot(n,y5);

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x5ƵÓòµÄ·ù¶ÈÆ×'); subplot(2,2,3); plot(angle(y5));

xlabel('ʱ¼äÐòºÅ');ylabel('Õñ·ù'); title('x5ƵÓòµÄÏàλÆ×');

结果:

(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]之间的关系。 (2)正弦序列x3[n]、x4[n]、x5[n]周期的判断

(3)指数序列底数与序列变化的关系总结

(4)2ASK、2FSK、2PSK调制信号时域波形(拓展要求) (5)数字“0” DTMF时域波形(拓展要求)

(6)高斯白噪声序列的时域波形;正弦序列加上高斯白噪声后的时域波形

(扩展要求)

(6)正弦序列的频谱图(扩展要求)

九、实验结论: 十、总结及心得体会:

十一、对本实验过程及方法、手段的改进建议:

报告评分:

指导教师签字:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务