数字信号处理 课程设计实验报告 (实验一-实验七)
姓名:潘翔宇 学号:201417330
专业:信息与计算科学 指导老师:蒋礼
实验一:常见离散信号的产生和实现
一、 实验目的:
用MATLAB实现常用的离散信号: 单位抽样序列、
二、 实验思路:
1、实现单位抽样序列
?(n)???1n?0
?0n?0在MATLAB中利用zeros(1,N)函数创建一行N列的零矩阵,随后令第一个点(即0点位)的值为1即可实现;如果要实现单位抽样序列向后延迟了k个单位,可以令第k+1个点(即n=k)的值为1即可实现。 2、实现单位阶跃序列
?1n?0u(n)??
0?n?0在MATLAB中利用ones(1,N)函数创建一行N列的每个值都为1的矩阵即可实现。 3、正弦序列
x(n)?Asin(2?fn/Fs??)
在MATLAB中直接将y编写成正弦函数的形式即将振幅A抽样频率Fs和频率f直接编写为数字,随后令n从0到N-1即可。 4、复指数序列
x(n)?r?ej?n
在MATLAB中直接将y编写成复指数函数的形式,随后令n从0到N-1即可。 5、指数序列
x(n)?an
在MATLAB 中直接将y编写成指数序列的形式,随后令n从0-N-1即可。
6、绘出信号x(n)?e,当z??(1/12)?jz?2?jzn?6、z?(1/12)?j?6时、z?112、
?6、z?j?6时的信号实部和虚部图;
在MATLAB中在z取不同的值得时候分别定义z1、z2、z3、z4、z5,根据real()和imag()函数来取函数的实部和虚部,随后令n从0-20即可实现。
7、绘出信号x(n)?1.5sin(2?*0.1n)的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期:
在MATLAB中编写相应正弦函数,令n从0-40,绘出序列图像,根据图像判断周期。
8、绘制方波、锯齿波和sinc函数:
在MATLAB中分别用square(t)、sawtooth(t)、sinc(t)函数生成相应的波形,分别令t从-2pi到2pi、-pi到pi即可绘制相应波形。
三、 核心代码:
1、单位抽样序列: >> n=0:1:20;x1=[1,zeros(1,20)]; >>x2=[zeros(1,10),1,zeros(1,10)]; 2、单位阶跃序列: >> n=0:1:20; y=[ones(1,21)]; 3、正弦序列:
>> n=1:30; y=2*sin(pi*n/6+pi/3); 4、复指数序列: >> n=1:30; y=2*exp(j*3*n); 5、指数序列: >> n=1:30; x=1.2.^n;
6、绘制信号的实部和虚部图: stem(n,real());stem(n,imag()); 7、判断信号的周期、频率:
n=0:40;x1=1.5*sin(2*pi*0.1*n);x2=sin(0.9*n);
8、绘制方波、锯齿波和sinc函数: t=-2*pi:0.001:2*pi;x=square(t); t=-2*pi:0.001:2*pi;y=sawtooth(t); t=-pi:0.001:pi; x=sinc(t);
四、 成果截图:
1、 单位抽样序列: 2、 单位阶跃序列:
3、 正弦序列: 4、 复指数序列
5、 指数序列
6、 绘制信号的实部和虚部图:
7、 判断信号周期、频率: