实验1-多种离散时间信号产生(答案)
信号与系统实验(MATLAB 西电版)实验4 离散时间信号的时域基本运算_OK
图 4.5 序列及其平移
2021/7/3
16
实验4 离散时间信号的时域基本运算
2.
已知序列f(k)={2,3,1,2,3,4,3,1},对应的k值为 -3≤k≤4 f1(k)=f(k-2),f2(k)=f(-k),f3(k)=f(k-1)ε(k), f4(k)=f(-k+2),f5(k)=f(k+1), f6(k)=f(k-2)ε(k),f7(k)=f(k+2)ε(k)
5) MATLAB x1=-2:2; %序列1 k1=-2:2; k0=2; k=k1+k0; f=x1; stem(k,f,′filled′); axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5]); 序列及其平移如图4.5
2021/7/3
15
实验4 离散时间信号的时域基本运算
2021/7/3
17
实验4 离散时间信号的时域基本运算
(1) 在计算机中输入程序,验证并记录实验结果,经过 (2) 对于设计性实验,应自行编制完整的实验程序,重复 验证性实验的过程,并在实验报告中给出完整的自编程序。
2021/7/3
18
axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5]);
序列及其翻转如图4.3所示。
2021/7/3
11
实验4 离散时间信号的时域基本运算
图 4.3 序列及其翻转
2021/7/3
12
实验4 离散时间信号的时域基本运算
4)
MATLAB
x1=-2:2;
%序列1
两个序列的乘法如图4.2
2021/7/3
常见离散信号产生和实现实验报告
常见离散信号产生和实现实验报告实验1常见离散信号产生和实现学院信息科学与工程学院专业通信工程1班姓名学号一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB在时域中产生一些基本的离散时间信号。
二、实验原理MATLAB语言提供了一系列函数用来产生信号,如exp,sin,cos, square,sawtooth,ones,zeros等函数。
1.基本信号序列1)单位抽样序列???=01)(nδ≠=n n在MATLAB中可以利用zeros()函数实现。
x=[1zeros(1, n-1)]程序:clear all;n=-20:20;u=[zeros(1,20)ones(1,21)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p21');axis([-20200 1.2]);图形:Request1:编写一个)(k n-δ的函数。
???=-01)(k nδ≠=n kn程序:clear all;n=-20:20;k=5;u=[zeros(1,20+k)ones(1,21-k)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p22');axis([-20200 1.2]);图形:(2)单位阶跃序列???01)(n u00<≥n n在MATLAB中可以利用ones()函数实现。
);,1(N ones x=Request2:编写一个)(k n u-的函数。
程序:clf;n=-20:20;u=[zeros(1,20)1zeros(1,20)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence p10');axis([-20200 1.2]);图形:Request2:编写一个)(k n u-的函数。
时域离散信号实验报告(3篇)
第1篇一、实验目的1. 理解时域离散信号的基本概念和特性。
2. 掌握时域离散信号的表示方法。
3. 熟悉常用时域离散信号的产生方法。
4. 掌握时域离散信号的基本运算方法。
5. 通过MATLAB软件进行时域离散信号的仿真分析。
二、实验原理时域离散信号是指在时间轴上取离散值的一类信号。
这类信号在时间上不连续,但在数值上可以取到任意值。
时域离散信号在数字信号处理领域有着广泛的应用,如通信、图像处理、语音处理等。
时域离散信号的基本表示方法有:1. 序列表示法:用数学符号表示离散信号,如 \( x[n] \) 表示离散时间信号。
2. 图形表示法:用图形表示离散信号,如用折线图表示序列。
3. 时域波形图表示法:用波形图表示离散信号,如用MATLAB软件生成的波形图。
常用时域离散信号的产生方法包括:1. 单位阶跃信号:表示信号在某个时刻发生突变。
2. 单位冲激信号:表示信号在某个时刻发生瞬时脉冲。
3. 正弦信号:表示信号在时间上呈现正弦波形。
4. 矩形脉冲信号:表示信号在时间上呈现矩形波形。
时域离散信号的基本运算方法包括:1. 加法:将两个离散信号相加。
2. 乘法:将两个离散信号相乘。
3. 卷积:将一个离散信号与另一个离散信号的移位序列进行乘法运算。
4. 反褶:将离散信号沿时间轴翻转。
三、实验内容1. 实验一:时域离散信号的表示方法(1)使用序列表示法表示以下信号:- 单位阶跃信号:\( u[n] \)- 单位冲激信号:\( \delta[n] \)- 正弦信号:\( \sin(2\pi f_0 n) \)- 矩形脉冲信号:\( \text{rect}(n) \)(2)使用图形表示法绘制以上信号。
2. 实验二:时域离散信号的产生方法(1)使用MATLAB软件生成以下信号:- 单位阶跃信号- 单位冲激信号- 正弦信号(频率为1Hz)- 矩形脉冲信号(宽度为2)(2)观察并分析信号的波形。
3. 实验三:时域离散信号的基本运算(1)使用MATLAB软件对以下信号进行加法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(2)使用MATLAB软件对以下信号进行乘法运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(3)使用MATLAB软件对以下信号进行卷积运算:- \( u[n] \)- \( \sin(2\pi f_0 n) \)(4)使用MATLAB软件对以下信号进行反褶运算:- \( u[n] \)4. 实验四:时域离散信号的仿真分析(1)使用MATLAB软件对以下系统进行时域分析:- 系统函数:\( H(z) = \frac{1}{1 - 0.5z^{-1}} \)(2)观察并分析系统的单位冲激响应。
数字信号处理相关MATLAB实验内容--第1章
实验1 离散时间信号的时域分析一、实验目的(1)了解MATLAB 语言的主要特点及作用;(2)熟悉MATLAB 主界面,初步掌握MATLAB 命令窗和编辑窗的操作方法;(3)学习简单的数组赋值、数组运算、绘图的程序编写;(4)了解常用时域离散信号及其特点;(5)掌握MATLAB 产生常用时域离散信号的方法。
二、知识点提示本章节的主要知识点是利用MATLAB 产生数字信号处理的几种常用典型序列、数字序列的基本运算;重点是单位脉冲、单位阶跃、正(余)弦信号的产生;难点是MATLAB 关系运算符“==、>=”的使用。
三、实验内容1. 在MATLAB 中利用逻辑关系式0==n 来实现()0n n -δ序列,显示范围21n n n ≤≤。
(函数命名为impseq(n0,n1,n2))并利用该函数实现序列:()()()632-+-=n n n y δδ;103≤≤-nn 0212. 在MATLAB 中利用逻辑关系式0>=n 来实现()0n n u -序列,显示范围21n n n ≤≤。
(函数命名为stepseq(n0,n1,n2))并利用该函数实现序列:()()()20522≤≤--++=n n u n u n y3. 在MATLAB 中利用数组运算符“.^”来实现一个实指数序列。
如: ()()5003.0≤≤=n n x n4. 在MATLAB 中用函数sin 或cos 产生正余弦序列,如:()()2003.0cos 553.0sin 11≤≤+⎪⎭⎫ ⎝⎛+=n n n n x πππ5. 已知()n n x 102cos 3π=,试显示()()()3,3,+-n x n x n x 在200≤≤n 区间的波形。
6. 参加运算的两个序列维数不同,已知()()6421≤≤-+=n n u n x ,()()8542≤≤--=n n u n x ,求()()()n x n x n x 21+=。
常见离散信号实现
常见离散信号实现实验2 常见离散信号产⽣和实现⼀、实验⽬的:(1)了解离散信号的特点;(2)熟悉MATLAB 的基本使⽤⽅法;(3)典型信号的MATLAB 表⽰⽅法;(4)熟悉MATLAB Plot 函数等应⽤。
⼆、实验原理:1.单位抽样序列=01)(n δ0≠=n n在MATLAB 中可以利⽤zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:=-01)(k n δ≠=n k n2.单位阶越序列01)(n u 00<≥n n在MATLAB 中可以利⽤ones()函数实现。
);,1(N ones x =3.正弦序列π+=Fs fn A n x 在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复指数序列 n j e r n x ??=)(在MATLAB 中 )**exp(1:0n w j r x N n ?=-=5.指数序列 n a n x =在MATLAB 中na x N n .^1:0=-=三、MATLAB 基本使⽤⽅法1、MATLAB 运⾏平台如图所⽰:在“>>”提⽰符后输⼊命令并回车,执⾏结果会显⽰在屏幕上。
例如:输⼊y=3+5回车,显⽰结果如图所⽰。
另外在输⼊命令时,有时我们希望有些中间过程的结果不显⽰在屏幕上,⽽只显⽰最后的结果,这时我们需要在不显⽰执⾏结果的命令后加上“;”,该命令执⾏的结果不回显在屏幕上。
例如:计算z=x+y,其中x=2+1,y=3+5,我只想看到z的值,输⼊命令格式如图所⽰,我们可以看到x,y的结果没有在屏幕上显⽰,只显⽰z的值。
2、MATLAB中矩阵的输⼊⽅法:矩阵的输⼊⽅法有两种,第⼀种⽅式如图所⽰;第⼆种⽅式如图所⽰3、M⽂件的使⽤:在处理⼀些包含多条命令的问题时,如果在MATLAB的命令窗⼝中进⾏处理,当出现错误时不好修改,这时我们需要借助MATLAB提供的M⽂件⽅式来处理。
数字信号处理实验一
数字信号处理实验一实验目的:掌握利用Matlab产生各种离散时间信号,实现信号的相加、相乘及卷积运算实验函数:参考课本77-19页,注意式(2.11.1)的表达与各matlab子函数间的关系。
1、stem(x,y) % 绘制以x为横轴,y为纵轴的离散序列图形2、[h ,t] = impz(b, a) % 求解数字系统的冲激响应h,取样点数为缺省值[h, t] = impz(b, a, n) % 求解数字系统的冲激响应h,取样点数为nimpz(b, a) % 在当前窗口用stem(t, h)函数出图3、[h ,t] = dstep(b, a) % 求解数字系统的阶跃响应h,取样点数为缺省值[h, t] = dstep (b, a, n) % 求解数字系统的阶跃响应h,取样点数为ndstep (b, a) % 在当前窗口用stairs(t, h)函数出图4、y = filter(b,a,x) % 在已知系统差分方程或转移函数的情况下求系统输出实验原理:一、常用的时域离散信号及其程序1、产生单位抽样函数δ(n)n1 = -5;n2 = 5;n0 = 0;n = n1:n2;x = [n==n0]; % x在n=n0时为1,其余为0stem(n,x,'filled'); %filled:序列圆心处用实心圆表示axis([n1,n2,0,1.1*max(x)])title('单位抽样序列')xlabel('time(n)')ylabel('Amplitude:x(n)')2、产生单位阶跃序列u(n)n1 = -2;n2 = 8;n0 = 0;n = n1:n2;x = [n>=n0]; % x在n>=n0时为1,其余为0stem(n,x,'filled');axis([n1,n2,0,1.1*max(x)])title('单位阶跃序列')xlabel('time(n)')ylabel('Amplitude:x(n)')3、复指数序列复指数序列的表示式为()(),00,0j n e n x n n σω+⎧≥⎪=⎨<⎪⎩,当0ω=时,()x n 为实指数序列;当0σ=时,()x n 为虚指数序列,即()()cos sin j n e n j n ωωω=+,即其实部为余弦序列,虚部为正弦序列。
实验一 离散时间信号与系统的傅里叶分析
电子信息工程系实验报告课程名称:数字信号处理成绩:实验项目名称:实验1 离散时间信号与系统的傅里叶分析时间:指导教师(签名):班级:电信092 姓名:XXX 学号:910706201实验目的:用傅里叶变换对离散时间信号和系统进行频域分析。
实验环境:计算机、MATLAB软件实验原理:对信号进行频域分析即对信号进行傅里叶变换。
对系统进行频域分析即对其单位脉冲响应进行傅里叶变换,得到系统的传输函数;也可由差分方程经过傅里叶变换直接求其传输函数,传输函数代表的就是频率响应特性。
而传输函数是w的连续函数,计算机只能计算出有限个离散频率点的传输函数值,故可在0~2∏之间取许多点,计算这些点的传输函数的值,并取它们的包络,所得包络即所需的频率特性。
实验内容和步骤:1、已知系统用下面差分方程描述:y(n)=x(n)+ay(n-1),试在a=0.95和a=0.5 两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数,并打印|H(e jω)|~ω曲线。
解:B=1;A=[1,-0.95]; [H,w]=freqz(B,A,'whole');subplot(1,3,1);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,2.5]);B=1;A=[1,-0.5];[H,w]=freqz(B,A,'whole');subplot(1,3,3);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性');axis([0,2,0,2.5]);图形如下图1、2所示:图1 a=0.95时的幅频响应特性图2 a=0.5时的幅频响应特性2、已知两系统分别用下面差分方程描述: y1(n)=x(n)+x(n-1) y2(n)=x(n)-x(n-1)试分别写出它们的传输函数,并分别打印|H(e jω)| ~ω曲线。
硕士信号处理实验报告(3篇)
第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。
本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。
二、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握常用信号处理算法的MATLAB实现。
3. 培养分析和解决实际问题的能力。
三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。
(2)实验步骤:- 使用MATLAB生成两个离散时间信号。
- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。
- 观察并分析操作结果。
2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。
(2)实验步骤:- 使用MATLAB设计一个离散时间系统。
- 计算系统的单位脉冲响应、零状态响应和零输入响应。
- 分析系统特性。
(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。
(2)实验步骤:- 使用MATLAB生成一个离散时间信号。
- 对信号进行FFT和DFT变换。
- 分析信号频谱。
4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。
(2)实验步骤:- 使用MATLAB设计一个低通滤波器。
- 使用窗函数法实现滤波器。
- 对滤波器进行性能分析。
5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。
(2)实验步骤:- 选择一个信号处理应用案例。
- 分析案例中使用的信号处理方法。
- 总结案例中的经验和教训。
四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。
武汉工程大学matlab实验二离散时间信号的分析实验【范本模板】
武汉工程大学数字信号处理实验报告二专业班级:14级通信03班学生姓名:秦重双学号:1404201114实验时间:2017年5月3日实验地点:4B315指导老师: 杨述斌实验一离散时间信号的分析实验一、实验目的①认识常用的各种信号,理解其数学表达式和波形表示。
②掌握在计算机中生成及绘制数值信号波形的方法。
③掌握序列的简单运算及计算机实现与作用。
④理解离散时间傅里叶变换、Z变换及它们的性质和信号的频域特性。
二、实验设备计算机,MATLAB语言环境。
三、实验基础理论1、序列的相关概念离散时间信号用一个称为样本的数字序列来表示。
一般用{x[n]}表示,其中自变量n的取值范围是﹣∞到﹢∞之间的整数。
为了表示方便,序列通常直接用x[n]表示。
离散时间信号可以是一个有限长序列,也可以是一个无限长序列。
有限长(也称为有限时宽)序列仅定义在有限的时间间隔中:﹣∞≤N1 ≤N2 ≤+∝。
有限长序列的长度或时宽为N=N1 -N2+1。
满足x[n+kN]=x[n](对于所有n)的序列称为周期为N的周期序列,其中N取任意正整数;k取任意整数;2、常见序列常见序列有单位取样值信号、单位阶跃序列、矩形序列、斜变序列、单边指数序列、正弦序列、复指数序列等。
3、序列的基本运算序列的基本运算有加法、乘法、倒置(反转)、移位、尺度变换、卷积等。
4、离散傅里叶变换的相关概念5、Z变换的相关概念四.实验内容与步骤1、知识准备认真复习以上基础理论,理解本实验所用到的实验原理。
2、离散时间信号(序列)的产生利用MATLAB语言编程和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形,以加深对离散信号时域表示的理解。
①单位取样值信号Matlab程序x=0;y=1;stem(x,y);title('单位样值’);axis([—2,2,0,1]);②单位阶跃序列Matlab程序n0=0;n1=—5;n2=5;n=[n1:n2];x=[(n—n0)>=0];stem(n,x);xlabel('n');ylabel(’x(n)’);title(’单位阶跃序列’);③指数序列、正弦序列Matlab程序n=[0:10];x=(1/3)。
数字信号处理实验三:离散时间信号的频域分析
实验三:离散时间信号的频域分析一.实验目的1.在学习了离散时间信号的时域分析的基础上,对这些信号在频域上进行分析,从而进一步研究它们的性质。
2.熟悉离散时间序列的3种表示方法:离散时间傅立叶变换(DTFT),离散傅立叶变换(DFT)和Z变换。
二.实验相关知识准备1.用到的MATLAB命令运算符和特殊字符:< > .* ^ .^语言构造与调试:error function pause基本函数:angle conj rem数据分析和傅立叶变换函数:fft ifft max min工具箱:freqz impz residuez zplane三.实验内容1.离散傅立叶变换在MATLAB中,使用fft可以很容易地计算有限长序列x[n]的离散傅立叶变换。
此函数有两种形式:y=fft(x)y=fft(x,n) 求出时域信号x的离散傅立叶变换n为规定的点数,n的默认值为所给x的长度。
当n取2的整数幂时变换的速度最快。
通常取大于又最靠近x的幂次。
(即一般在使用fft函数前用n=2^nextpow2(length(x))得到最合适的n)。
当x的长度小于n时,fft函数在x的尾部补0,以构成长为n点数据。
当x的长度大于n时,fft函数将序列x截断,取前n点。
一般情况下,fft求出的函数多为复数,可用abs及angle分别求其幅度和相位。
注意:栅栏效应,截断效应(频谱泄露和谱间干扰),混叠失真例3-1:fft函数最通常的应用是计算信号的频谱。
考虑一个由100hz和200hz正弦信号构成的信号,受零均值随机信号的干扰,数据采样频率为1000hz。
通过fft函数来分析其信号频率成分。
t=0:0.001:1;%采样周期为0.001s,即采样频率为1000hzx=sin(2*pi*100*t)+sin(2*pi*200*t)+1.5*rand(1,length(t));%产生受噪声污染的正弦波信号subplot(2,1,1);plot(x(1:50));%画出时域内的信号y=fft(x,512);%对x进行512点的fftf=1000*(0:256)/512;%设置频率轴(横轴)坐标,1000为采样频率subplot(2,1,2);plot(f,y(1:257));%画出频域内的信号实验内容3-2:频谱泄漏和谱间干扰假设现有含有三种频率成分的信号x(t)=cos(200πt)+sin(100πt)+cos(50πt)用DFT分析x(t)的频谱结构。
信号与系统实验报告实验一 信号与系统的时域分析
实验一信号与系统的时域分析一、实验目的1、熟悉与掌握常用的用于信号与系统时域仿真分析的MA TLAB函数;2、掌握连续时间与离散时间信号的MA TLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MA TLAB编程;3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;4、掌握利用MA TLAB计算卷积的编程方法,并利用所编写的MA TLAB程序验证卷积的常用基本性质;掌握MA TLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。
基本要求:掌握用MA TLAB描述连续时间信号与离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换与运算,并且以图形的方式再现各种信号的波形。
掌握线性时不变连续系统的时域数学模型用MA TLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。
二、实验原理信号(Signal)一般都就是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都就是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就就是随着海拔高度的变化而变化的。
一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴与纵轴,因此,图像信号具有两个或两个以上的独立变量。
在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量就是否就是时间变量。
在自然界中,大多数信号的时间变量都就是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力与声音信号就就是连续时间信号的例子。
数字信号处理实验指导
实验一 离散时间信号与系统的时域分析(基础验证型)1.实验目的(1)熟悉离散时间信号的产生与基本运算。
(2)熟悉离散时间系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
2.实验原理(1)典型离散时间信号单位样本序列(通常称为离散时间冲激或单位冲激)用[]n δ表示,其定义为1,0[]0,0n n n δ=⎧=⎨≠⎩(1.1) 单位阶跃序列用[]n μ表示,其定义为1,0[]0,0n n n μ≥⎧=⎨<⎩ (1.2) 指数序列由 []n x n A α= (1.3)给定。
其中A 和α可以是任意实数或任意复数,表示为00(),j j e A A e σωφα+==式(1.3)可改写为 0000()00[]cos()sin()n j n n n x n A e A e n j A e n σωφσσωφωφ++==+++ (1.4) 带有常数振幅的实正弦序列形如0[]cos()x n A n ωφ=+ (1.5)其中A ,0ω和φ是实数。
在式(1.4)和(1.5)中,参数A ,0ω和φ分别称为正弦序列[]x n 的振幅、角频率和初始相位。
002f ωπ=称为频率。
(2)序列的基本运算长度N 的两个序列[]x n 和[]h n 的乘积,产生长度也为N 的序列[]y n[][][]y n x n h n =⋅ (1.6)长度为N 的两个序列[]x n 和[]h n 相加,产生长度也为N 的序列[]y n[][][]y n x n h n =+ (1.7)用标量A 与长度为N 的序列[]x n 相乘,得到长度为N 的序列[]y n[][]y n A x n =⋅ (1.8)无限长序列[]x n 通过时间反转,可得到无限长序列[]y n[][]y n x n =- (1.9)无限长序列[]x n 通过M 延时,可得到无限长序列[]y n[][]y n x n M =- (1.10)若M 是一个负数,式(1.10)运算得到序列[]x n 的超前。
数字信号处理实验指导书
《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
首先用手工计算,然后用MATLAB 编程验证。
三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。
四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。
离散时间信号的频域分析实验报告
实验名称:离散时间信号的频域分析一、实验目的1.对离散信号和系统在频域中进行分析,可以进一步研究它们的性质。
学会通过matlab,对离散时间序列的三种表示方法:离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和Z变换。
二、实验内容1、修改程序P3.1,计算如下有限长序列的离散时间傅里叶变换:g[n]=[1357911131517]并重做习题Q3.2。
讨论你的结果。
你能解释相位谱中的跳变吗?2、选取两个改变了长度的序列以及两个不同的时移值,重做习题Q3.73、编写一个MATLAB程序,用一个N点复数离散傅里叶变换计算两个长度为N的实数序列的N点离散傅里叶变换,并将结果同直接使用两个N点离散傅里叶变换得到的结果进行比较。
4、选取两个不同的时移量,重做习题Q3.335、选取两个不同长度的序列,重做习题Q.336、选取另外两组等长序列重做习题Q3.36三、主要算法与程序1、w=-4*pi:8*pi/511:4*pi;num=[1357911131517];den=[1];h=freqz(num,den,w);%Plot the DTFTsubplot(2,2,1)plot(w/pi,real(h));gridtitle('H(e^{j\omega})的实部')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,2)plot(w/pi,imag(h));gridtitle('H(e^{j\omega})的虚部')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,3)plot(w/pi,abs(h));gridtitle('|H(e^{j\omega})|幅度谱')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,4)plot(w/pi,angle(h));gridtitle('[H(e^{j\omega})]相位谱')xlabel('\omega/\pi');ylabel('以弧度为单位的相位');2、(1)序列为[9123456789],时移为30; %离散时间傅立叶变换的时移性质clf;w=-pi:2*pi/255:pi;wo=0.4*pi;D=30;num=[9123456789];h1=freqz(num,1,w);h2=freqz([zeros(1,D)num],1,w);subplot(2,2,1)plot(w/pi,abs(h1));gridtitle('原序列的幅度谱')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,2)plot(w/pi,abs(h2));gridtitle('时移D=30后序列的幅度谱')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,3)plot(w/pi,angle(h1));gridtitle('原序列的相位谱')xlabel('\omega/\pi');ylabel('振幅');subplot(2,2,4)plot(w/pi,angle(h2));gridtitle('时移D=30后序列的相位谱')xlabel('\omega/\pi');ylabel('振幅');(2)序列为[12345678910],时移为50;D=50;num=[12345678910];3、clf;g=[1124];h=[2321];x=g+i*h;N=length(x)-1;n=0:N;gk=fft(g);hk=fft(h);xk=fft(x);xk1=fft(conj(x));gk1=(xk+xk1)/2;hk1=(xk-xk1)/2i;subplot(4,2,1)stem(n,abs(gk));gridtitle('实部序列gk的离散傅里叶变换的幅度')xlabel('时间序号n');ylabel('振幅');subplot(4,2,2)stem(n,abs(hk));gridtitle('虚部序列gk的离散傅里叶变换的幅度')xlabel('时间序号n');ylabel('振幅');subplot(4,2,3)stem(n,abs(gk1));gridtitle('通过xk得到的gk1的离散傅里叶变换的幅度') xlabel('时间序号n');ylabel('振幅');subplot(4,2,4)stem(n,abs(hk1));gridtitle('通过xk得到的hk1的离散傅里叶变换的幅度') xlabel('时间序号n');ylabel('振幅');subplot(4,2,5)stem(n,angle(gk));gridtitle('实部序列gk的离散傅里叶变换的相位')xlabel('时间序号n');ylabel('以弧度为单位的相位'); subplot(4,2,6)stem(n,angle(hk));gridtitle('虚部序列hk的离散傅里叶变换的相位')xlabel('时间序号n');ylabel('以弧度为单位的相位'); subplot(4,2,7)stem(n,angle(gk1));gridtitle('通过xk得到的gk1的离散傅里叶变换的相位') xlabel('时间序号n');ylabel('以弧度为单位的相位'); subplot(4,2,8)stem(n,angle(hk1));gridtitle('通过xk得到的hk1的离散傅里叶变换的相位') xlabel('时间序号n');ylabel('以弧度为单位的相位');4、function y=circshift(x,M)if abs(M)>length(x)M=rem(M,length(x));endif M<0M=M+length(x);endy=[x(M+1:length(x))x(1:M)];%离散傅里叶变换的圆周时移性质,时移为10x=[0246810121416];N=length(x)-1;n=0:N;y=circshift(x,10);XF=fft(x);YF=fft(y);subplot(2,2,1);stem(n,abs(XF));gridtitle('原序列的离散傅里叶变换的幅度');xlabel('时间序号n');ylabel('振幅');subplot(2,2,2);stem(n,abs(YF));gridtitle('圆周移位10后的序列的离散傅里叶变换的幅度'); xlabel('时间序号n');ylabel('振幅');subplot(2,2,3);stem(n,angle(XF));gridtitle('原序列的离散傅里叶变换的相位');xlabel('时间序号n');ylabel('相位');subplot(2,2,4);stem(n,angle(YF));gridtitle('圆周移位10后的序列的离散傅里叶变换的相位'); xlabel('时间序号n');ylabel('相位');%离散傅里叶变换的圆周时移性质,时移为20y=circshift(x,20);5、序列为x=[0246810121416],时移为10;序列为x=[02468101214161820],时移为10;6、function y=circonv(x1,x2)L1=length(x1);L2=length(x2);if L1~=L2,error('长度不相等的序列'),endy=zeros(1,L1);x2tr=[x2(1)x2(L2:-1:2)];for k=1:L1sh=circshift(x2tr,1-k);h=x1.*sh;y(k)=sum(h);end%离散傅里叶变换的圆周卷积g1=[1234567];g2=[21-12-113];ycir=circonv(g1,g2);disp('圆周卷积的结果');disp(ycir)G1=fft(g1);G2=fft(g2);yc=real(ifft(G1.*G2));disp('离散傅里叶变换乘积的离散傅里叶逆变换的结果=');disp(yc)四、实验结果与分析图1图2.1图2.2图3图4.1图4.2图5.1序列长度9图5.2序列长度11Q6、圆周卷积的结果18183225393925离散傅里叶变换乘积的离散傅里叶逆变换的结果=18.000018.000032.000025.000039.000039.000025.0000、五、实验小结通过这次实验,我对离散信号和系统在频域中进行分析,进一步研究了它们的性质。
《数字信号处理》实验讲义(信息计算)
《数字信号处理》实验指导书实验一 常见离散信号的产生一、实验目的1. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
数字信号处理实验报告
实验报告课程名称:数字信号处理授课班级:学号:姓名:指导老师:实验一离散时间信号及系统的时域分析实验类别:基础性实验1实验目的:(1)了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境。
(2)熟悉MA TLAB中产生信号和绘制信号的基本命令,学会用MA TLAB在时域中产生一些基本的离散时间信号,并对这些信号进行一些基本的运算。
(3)通过MA TLAB仿真一些简单的离散时间系统,并研究它们的时域特性。
(4)通过MA TLAB进行卷积运算,利用卷积方法观察分析系统的时域特性。
2. 实验报告要求●简述实验原理及目的。
●结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。
●记录调试运行情况及所遇问题的解决方法。
3.实验内容:思考题:9.2.1 运行程序P9.2.1,哪个参数控制该序列的增长或衰减:哪个参数控制该序列的振幅?若需产生实指数序列,应对程序作何修改?9.2.2运行程序P9.2.1,该序列的频率是多少?怎样改变它?哪个参数控制该序列的相位?哪个参数可以控制该序列的振幅?该序列的周期是多少?9.2.3 运行程序P9.2.3,对加权输入得到的y(n)与在相同权系数下输出y1(n)和y2(n)相加得到的yt(n)进行比较,这两个序列是否相等?该系统是线性系统吗?9.2.4 假定另一个系统为y(n)=x(n)x(n-1)修改程序,计算这个系统的输出序列y1(n),y2(n)和y(n)。
比较有y(n)和yt(n)。
这两个序列是否相等?该系统是线性系统吗?(提高部分)9.2.5运行程序P9.2.4,并比较输出序列y(n)和yd(n-10)。
这两个序列之间有什么关系?该系统是时不变系统吗?9.2.6 考虑另一个系统:修改程序,以仿真上面的系统并确定该系统是否为时不变系统。
(选做)n = 0:40; D = 10;a = 3.0;b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);[x1,n1]=sigmult(n,n,x,n)[x2,n2]=sigshift(x,n,1)[y,ny1]= sigadd(x1,n1,x2,n2)[y1,ny11]= sigshift(y,ny1,D)[sx,sn]= sigshift(x,n,D)[sx1,sn1]=sigmult(n,n, sx,sn)[sx2,sn2]=sigshift(sx,sn,1)[y2,ny2]= sigadd(sx1,sn1,sx2,sn2)D= sigadd(y1,ny11,y2,ny22)六、实验心得体会:实验时间批阅老师实验成绩实验二 FFT 实现数字滤波实验类别:提高性实验 1.实验目的(1) 通过这一实验,加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
实验一-信号及传输特性分析
实验一练习一信号的特性及其频谱分分析实验原理一. 信号的概念和分类1. 信号在通信与信息系统中,传输的主体是信号,系统所包含的各种电路、设备都是为了实施这种传输。
因此,电路系统设计和制造的要求,必然要取决于信号的特性。
随着待传输信号的日益复杂,相应地,信号传输系统中的元器件、电路的结构等也日益复杂。
因此,对信号进行分析变得越来越重要。
2. 信号的分类下面从不同角度对信号进行分类。
确定信号和随机信号:若其在任何时间的值都是确定已知的,那么是确定信号;若信号在实际发生之前具有一定的不确定性,则表明信号是随机信号。
连续信号和离散信号:将一个信号表示成为时间t的函数,如果其时间变量t的取值是连续的,那么这个信号就称为连续信号。
若信号只在某些不连续的时间点上有确定的取值,则称信号是离散信号。
模拟信号和数字信号:时间或幅度连续的信号称为模拟信号,时间和幅度都离散的信号称为数字信号。
周期信号和非周期信号:在一个可以测量的时间范围内完成一种模式,并且在后续的相同时间范围内重复这一模式,这种信号是周期信号;不随时间变化出现重复的模式或循环,则是非周期信号。
二. 周期模拟信号周期模拟信号可以分为简单类型或复合类型两种。
简单类型模拟信号,即正弦波,不能再分解为更简单的信号。
而复合型模拟信号则是由多个正弦波信号组成的。
正弦波是周期模拟信号的最基本形式。
可以看做一条简单的震荡曲线,在一个周期内的变化是平滑、一直的、连续的、起伏的曲线。
下图就是一个正弦波,每个循环由时间轴上方的单弧和后跟着的时间轴下方的单弧构成。
图1-1-1 正弦波单个正弦波可以用三个参数表示:峰值振幅、频率和相位。
这三个参数完全决定正弦波。
1. 峰值振幅信号的峰值振幅是其最高强度的绝对值,与其携带的能量成正比。
图1-1-2表示了两个信号和它们的峰值振幅。
图1-1-2 相位和频率相同但振幅不同的两个信号2. 周期和频率周期是信号完成一个循环所需要的时间,以秒为单位。
实验1_常见离散信号产生和实现
实验1 常见离散信号产生和实现一、实验目的:1、加深对常用离散信号的理解;2、掌握matlab 中一些基本函数的建立方法。
二、实验原理:1.单位抽样序列⎩⎨⎧=01)(k δ 00≠=k k在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x 如果)(k δ在时间轴上延迟了n 个单位,得到)(n k -δ即:⎩⎨⎧=-01)(n k δ nk n k ≠= 2.单位阶越序列⎩⎨⎧01)(k u 00<≥k k在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fk A k x在MATLAB 中)/***2sin(*1:0fai Fs k f pi A x N k +=-=4.复指数序列k j e r k x ϖ⋅=)(在MATLAB 中)**exp(1:0k w j r x N k ⋅=-=5.指数序列k a k x =)(在MATLAB 中k a x N k .^1:0=-= 三、实验内容1、五种基本函数的图形生成(1)、单位抽样序列% 单位抽样序列和延时的单位抽样序列clf;n=0:10;x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)];subplot(1,2,1);stem(n,x1);xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1');subplot(1,2,2);stem(n,x2); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');(2)、单位阶越序列clf;n=0:10;u=[ones(1,11)];stem(n,u);xlabel ('时间序列n');ylabel('振幅');title('单位阶越序列');所得的图形如下所示:(3)正弦函数clf;n=1:30;x=2*sin(pi*n/6+pi/3);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列x=2*sin(pi*n/6+pi/3)');(4)、复指数序列clf;n=1:30;x=2*exp(j*3*n);stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('复指数序列x=2*exp(j*3*n)');图形如下:(5)实指数序列clf;n=1:30;x=1.2.^n;stem(n,x); xlabel ('时间序列n');ylabel('振幅');title('指数序列x=1.2.^n');2、使用帮助功能学习square(方波), sawtooth(锯齿波)和sinc 函数,并绘图。
实验一-离散时间信号分析
实验一 离散时间信号分析一、实验目的1. 初步掌握 Matlab 的使用,掌握编写M 文件和函数文件2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。
3. 掌握生成及绘制数字信号波形的方法。
4. 掌握序列的基本运算及实现方法。
5. 研究信号采样时采样定理的应用问题。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列{x (n )}来表示,其中x (n )代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x (n )没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a (t ) 进行等间隔采样,采样间隔为T ,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样)δ (n )、单位阶跃序列u (n )、矩形序列R N (n ) 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算 y(n)=∑x (m )h (n −m )+∞m=−∞=x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4 个步骤。
(1)反褶:先将x (n )和h (n )的变量n 换成m ,变成x (m )和h (m ),再将h (m )以纵 轴为对称轴反褶成h (-m )。
(2)移位:将h (-m )移位n ,得h (n- m )。
当n 为正数时,右移n 位;当n 为负数时, 左移n 位。
(3)相乘:将h (n -m )和x (m )的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得y (n )。
三、主要实验仪器及材料PC 机、Matlab7.0。
实验1常见离散信号产生和实现(作业1)
实验1常见离散信号产⽣和实现(作业1)实验1 常见离散信号产⽣和实现⼀、实验⽬的:1、加深对常⽤离散信号的理解;2、掌握matlab 中⼀些基本函数的建⽴⽅法。
⼆:matlab 使⽤1)创建M ⽂件 File-→New-→M-file 2)运⾏ Debug->run注:在试验过程中若有某些函数不懂,可以通过Help->search->输⼊要查询的函数名即可⼆、实验原理:1.单位抽样序列=01)(n δ0≠=n n在MATLAB 中可以利⽤zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:=-01)(k n δ≠=n kn 2.单位阶跃序列1)(n u00<≥n n 在MATLAB 中可以利⽤ones()函数实现。
);,1(N ones x = %⼀个长度为N 的1矩阵3.正弦序列)/2sin()(?π+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复指数序列n j e r n x ??=)(在MATLAB 中)**exp(1:0n w j r x N n ?=-=5.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=三、实验内容实现和图形⽣成1、五种基本函数的⽣成程序如下:(1)、单位抽样序列做出单位抽样序列以及延时了5的单位抽样序列,并对图进⾏标记说明注意使⽤绘图的函数为stem ;标记xlabel 、ylabel 、title clc clear n=0:10;x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)]; subplot(1,2,1); stem(n,x1);xlabel ('time n'); ylabel('zhenfu');title('danweichouyangx1'); subplot(1,2,2); stem(n,x2);xlabel('time n');title('yanshi 5');51000.10.20.30.40.50.60.70.80.91time nz h e n f udanweichouyangx151000.10.20.30.40.50.60.70.80.91time nz h e n f uyanshi 5(2)、单位阶跃序列 clc clear n=0:10;u=[ones(1,11)]; stem(n,u);xlabel('time n'); ylabel('zhenfu'); title('jieyue');1234567891000.10.20.30.40.50.60.70.80.91time nz h e n f ujieyue(3)正弦函数x=2*sin(pi*n/6+pi/3); 并对图进⾏标记说明 clc clear n=1:30; x=2*sin(pi*n/6+pi/3); stem(n,x);xlabel('time n');title('x=2*sin(pi*n/6+pi/3)');051015202530-2-1.5-1-0.500.511.52time nz h e n f ux=2*sin(pi*n/6+pi/3)(4)、复指数序列x=2*exp(j*3*n); 并对图进⾏标记说明 clc clear n=1:30;x=2*exp(j*3*n); stem(n,x);xlabel('time n'); ylabel('zhenfu');title('x=2*exp(j*3*n)');051015202530-2-1.5-1-0.500.511.52time nz h e n f ux=2*exp(j*3*n)(5)指数序列x=1.2.^n;并对图进⾏标记说明 clcclear n=1:30; x=1.2.^n; stem(n,x);xlabel('time n'); ylabel('zhenfu'); title('x=1.2.^n');51015202530050100150200250time nz h e n f ux=1.2.n2、绘出信号zn e n x =)(,当6)12/1(πj z +-=、6 )12/1(πj z +=时、121=z 、62πj z +=、6πj z =时的信号实部和虚部图;并对图标记说明,将以上⼏个图合在⼀个图⾥进⾏显⽰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 报 告学生姓名: 学 号: 指导教师:一、实验室名称:数字信号处理实验室 二、实验项目名称:多种离散时间信号的产生 三、实验原理:1、基本离散时间信号利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。
常见的基本信号可以简要归纳如下: (1).单位采样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2).单位阶跃序列⎩⎨⎧=01)(n u00<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =(3).正弦序列)2sin()(ϕπ+=fn A n x采用MATLAB 的实现方法,如:)***2sin(*1:0ϕ+=-=n f pi A x N n(4).实指数序列n a A n x ⋅=)(其中,A 、a 为实数。
采用MATLAB 的实现方法,如:na x N n .^1:0=-=(5).复指数序列n j e A n x )(0)(ωσ+⋅=采用MATLAB 的实现方法,如:)*)*exp((*1:00n j A x N n ωσ+=-=为了画出复数信号x [n ],必须要分别画出实部和虚部,或者幅值和相角。
MATLAB 函数real 、imag 、abs 和angle 可以逐次计算出一个复数向量的这些函数。
2、基本数字调制信号(1).二进制振幅键控(2ASK )最简单的数字调制技术是振幅键控(ASK ),即二进制信息信号直接调制模拟载波的振幅。
二进制幅度键控信号的时域表达式:∑-=nc s n ASK t nT t g a t S ωcos )]([)(其中,a n 为要调制的二进制信号,g (t)是单极性脉冲信号的时间波形,Ts 表示调制的信号间隔。
典型波形如下:图 1 – 1 二进制振幅键控信号时间波形(2).二进制频移键控(2FSK )在二进制数字调制中,若正弦载波的频率随二进制基带信号在f 1和f 2两个频率点间变化,则产生二进制移频键控信号(2FSK 信号)。
二进制频域键控已调信号的时域表达式为:t nT t g a t T n t g a t S n S n S n n FSK 212cos )(cos )()(ωω⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-=∑∑这里,22112,2f f πωπω==,的反码是n n a a 。
典型波形如下:(3).二进制相移键控(2PSK 或BPSK )a nttt2FSK 信号载波信号1载波信号2在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。
通常用已调信号载波的0°和 180°分别表示二进制数字基带信号的 1 和 0。
二进制移相键控信号的时域表达式为:πφφω或0),cos()()(2=+⎥⎦⎤⎢⎣⎡-=∑i i c n S n PSK t nT t g a t S典型波形如下:数字调制信号可以根据调制原理采用基本的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 双音多频的组合功能因此,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、在2020≤≤-n 内,画出单位下列信号:(a ).单位采样序列][][1n n x δ=和单位阶跃序列][][2n u n x =的时域波形图。
>> n=-20:1:20;>> x1=zeros(1,length(n)); >> x1(21)=1; >> figure >> stem(n,x1)>> x2=[zeros(1,20) ones(1,21)]; >> figure >> stem(n,x2)%%%%%%%%%%%%%%%%%%%%(b ).]5[][11+=n x n y 、]8[][22-=n x n y 的波形。
说明][1n x 与][1n y 、][2n x 与][2n y 之间的关系。
>> y1=circshift(x1',-5)'; >> figure >> stem(n,y1) >> y2=circshift(x2',8)'; >> y2(1:21)=0; >> figure >> stem(n,y2)2、画出下列信号在1000≤≤n 内的波形。
⎪⎭⎫⎝⎛+⎪⎭⎫ ⎝⎛=⎪⎭⎫⎝⎛=⎪⎭⎫⎝⎛=83cos 12cos ][2sin ][16sin ][543n n n x n n x n n x πππ观察][][][543n x n x n x 、、是否周期信号。
如果是周期信号,信号的基波周期是什么?如果不是周期信号,说明原因。
>> n=0:1:100; >> x3=sin(pi.*n/16); >> figure >> stem(n,x3) >> x4=sin(n/2); >> figure >> stem(n,x4)>> x5=cos(pi*n/12)+cos(3*pi*n/8); >> figure >> stem(n,x5)3、在300≤≤n 内,画出下列信号:()nj n en x n x 6/12/176][)8.0(2.0][π+-==对于复数序列,要求分别画出实部和虚部;幅值和相角。
若把][6n x 中的底数0.8分别改为1.2、-0.8,讨论产生的时域波形有何变化。
总结指数序列的底数对序列变化的影响。
>> x6=0.2*0.8.^n; >> figure >> stem(x6)>> x7=exp((-1/12+j*pi/6).*n); >> figure>> stem(real(x7))%%实部>> figure>> stem(imag(x7))%%虚部>> figure>> stem(abs(x7))%%幅度>> figure>> stem(angle(x7))%相角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。
分别画出以上信号调制前后的时域波形图。
%%%%%%%%%%%%%2ASK%%%%%%%%%%%%%%%%%>> clear>> Fc=5;Fd=10;Fs=20;g=[1 0 1 0 1 0];x=[];for n=1:length(g)if g(n)==0;x=[x zeros(1,10)];else g(n)==1;x=[x ones(1,10)];endendgt=(1:60)/Fd/10;figureplot(gt,x)zaibo=cos(2*pi*Fc.*(1:60)/Fs);figureplot(gt,zaibo)ask=zaibo.*x;figureplot(gt,ask)%%%%%%%%%%%%%以上为2ASK%%%%%%%%%%%%%%%%% %%%%%%%%%%%%下面产生2FSK%%%%%%%%%%%%%%%%% >> reverse_x=[];>> for n=1:length(g)if g(n)==1;reverse_x=[reverse_x zeros(1,10)];else g(n)==0;reverse_x=[reverse_x ones(1,10)];endend>> F1=5;F2=1;>> zaibo1=cos(2*pi*F1.*(1:60)/Fs);>> zaibo2=cos(2*pi*F2.*(1:60)/Fs);>> fsk=zaibo1.*x+zaibo2.*reverse_x;>> figure>> plot(gt,fsk) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%PSK%%%%%%%%%%%%%%%%% >> Fc=1;>> for n=1:length(g)if g(n)==0;psk(n*10-9:n*10)=cos(2*pi*Fc.*(n*10-9:n*10)/Fs+pi);else g(n)==1;psk(n*10-9:n*10)=cos(2*pi*Fc.*(n*10-9:n*10)/Fs);end end >> figure >> plot(gt,psk)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5、(拓展要求)利用MATLAB 产生DTMF 双音多频信号。