实验1 常见离散信号的MATLAB产生和图形显示 (2)
数字信号处理实验一报告

DSP实验一报告一.实验内容(一)实验名称:离散信号的MATLAB产生和图形显示(二)实验内容:1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050二.编程原理、思路和公式1、编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
调用Matlab中的基本数学函数f(x)=cosx,因为要产生序列,所以采用stem(x)的方式输出图形。
2、画出下列序列的图形,进行计算并用图形显示结果。
x(n)=sin +3cos , -525y(n)=(-n-2)+(n-16)计算,z(n)=x(n)+y(n)先绘出x(n)和y(n)分别的图形,然后相加得到z(n)的图形。
x(n)是一个周期为24的三角函数。
3、课本136页第20题画出四种理想滤波器的幅频特性图(一个周期)和单位冲激响应波形图(根据公式画图)。
其中,(1)=0.3 (2)=0.8 (3)=0.5;=0.7 (4)=0.65;=0.8角频率间隔= ,M=256时间范围-5050直接根据四种理想滤波器的公式表达式作图。
三.程序脚本及其注释1. 编写程序产生序列,x(n)=cosn, 099其中,=0,,,,,,,2画出序列的图形,说明信号时域振荡程度的变化,理解数字信号的“低频”和“高频”的概念。
xjtu数字信号处理“实验报告”

数字信号处理实验报告实验1 常见离散信号的MATLAB产生和图形显示【实验目的】加深对常用离散信号的理解;【实验内容】(1)单位抽样序列(取100个点)程序设计:N=100;x=[1 zeros(1,N-1)];stem(0:N-1,x)结果(2)单位阶跃序列(取100个点)程序设计:N=100;x=ones(1,N);stem(0:99,x);axis([0 100 0 2])结果102030405060708090100(3) 正弦序列(取100个点) 程序设计: N=100; n=0:99; f=100; Fs=1000; fai=0.2*pi; A=2;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x); grid 结果0102030405060708090100(4)复正弦序列(取100个点)程序设计:N=100;n=0:99;w=0.2*pi;x=exp(j*w*n);stem(n,x);结果(5)复指数序列(取41个点)程序设计:>> n=0:40;>> c=-0.02+0.2*pi*i;>> x=exp(c*n);>> subplot(2,1,1);>> stem(n,real(x));>> subplot(2,1,2);>> stem(n,imag(x));结果05101520253035400510152025303540(上部为实部,下部为虚部)(6)指数序列(取100个点)程序设计:>> n=0:99;>> a=0.5;>> x=a.^n;>> stem(n,x);结果:【实验要求】讨论复指数序列的性质。
由(5)的图形结果可以看出,复指数序列实部和虚部均为按指数衰减(上升)的序列,两者的均是震荡的,实部震荡周期与指数的实部有关,虚部震荡周期与指数的实虚部有关。
实验一 离散信号及MATLAB实现

C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;
figure(1);
subplot(3,3,1);stem(n,A);xlabel('n');ylabel('A');grid on;
subplot(3,3,2);stem(n,B);xlabel('n');ylabel('B');grid on;title('序列的运算');
%stepshift.m
function [n,x1]=stepshift(n0,n1,n2)
n=n1:n2;x1=[(n-n0)>=0];
end
clear;close all;n1=0;n2=9;n0=2;N=n2-n1+1;x=ones(1,N);
[n,x1]=stepshift(n0,n1,n2);figure(1);
y=y1+y2+y3;
end
%sigshift.m
function [y,n]=sigshift(x,m,n0)
%UNTITLED2 此处显示有关此函数的摘要
% 此处显示详细说明
n=m-n0;
y=x;
end
clear;close all;n=[0:3];x=[1 -1 3 5];
subplot(3,1,2);stem(n,x2);xlabel('n');ylabel('x2');grid on;
subplot(3,1,3);stem(n,x3);xlabel('n');ylabel('x3');grid on;
典型离散信号及其MATLAB实现

实验二 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。
2. 熟悉连续信号经过采样前后的频谱变化,加深对采样定理的理解。
3. 掌握MATLAB 产生常用离散时间信号的编程方法。
二、实验原理1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n k n2.单位阶跃序列:⎩⎨⎧01)(n u 00<≥n n在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:n a n x =)(在MATLAB 中:na x N n .^1:0=-= 6.y=fliplr(x)——信号的翻转;x=square(t)——产生方波信号y=sawtooth(t)——产生锯齿波信号;y=sinc(x)——产生sinc 函数信号。
三、实验内容(一) 离散信号的产生离散信号的图形显示使用stem 指令。
1. 编写MATLAB 程序,产生下列典型脉冲序列。
(1) 单位脉冲序列:起点n0,终点nf ,在ns 处有一单位脉冲。
(2) 单位阶跃序列:起点n0,终点nf ,在ns 前为0,在ns 处及以后均为1(n0<=ns<=nf)。
(3) 实指数序列:n x )75.0(3=(4) 复指数序列:n j e x )7.02.0(4+-=其MATLAB 程序如下:n0=0;nf=10;ns=3;n1=n0:nf;x1=[(n1-ns)==0]; %单位脉冲序列n2=n0:nf;x2=[(n2-ns)>=0]; %单位阶跃序列n3=n0:nf;x3=(0.75).^n3; %实指数序列n4=n0:nf;x4=exp((-0.2+0.7j)*n4); %复指数冲序列subplot(2,2,1),stem(n1,x1);subplot(2,2,2),stem(n2,x2);subplot(2,2,3),stem(n3,x3);figuresubplot(2,2,1),stem(n4,real(x4)); %注意subplot 的变化 subplot(2,2,2),stem(n4,imag(x4));subplot(2,2,3),stem(n4,abs(x4));subplot(2,2,4),stem(n4,angle(x4));(二)离散时间信号的卷积在MATLAB中,利用函数conv(x,h)可以实现两个有限长度序列的卷积,要注意conv 函数是假定两个序列都从n=0开始的。
数字信处理实验报告

数字信号处理实验报告姓 名: 班 级: 13电信2 学 号: 2013302 2013302 2013302 指导老师: 日期: 2016.6.6~华南农业大学电子工程学院电子信息工程系实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的加深对常用离散信号的理解; 二.实验原理 1. 单位抽样序列在MATLAB 中可以利用zeros()函数实现。
如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:2. 单位阶越序列在MATLAB 中可以利用ones()函数实现。
3. 正弦序列在MATLAB 中 4. 复正弦序列在MATLAB 中 5. 指数序列在MATLAB 中6.卷积分析conv.m 用来实现两个离散序列的线性卷积。
其调用格式是:y=conv(x,h)若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M-1。
三.实验内容1.画出信号x (n) = 1.5*δ(n+1) - δ(n-3)的波形。
2.求序列x(n)和h(n)的线性卷积y(n)=x(n)*h(n)。
x(n) = {3,-3,7,0,-1,5,2} , h(n) = {2,3,0,-5,2,1}. 画出x(n),h(n),y(n)与n的离散序列图形四.实验要求1)画出信号x(n) = 1.5*δ(n+1) - δ(n-3)的波形。
①MATLAB程序如下:n3 = [-3:3];x3 = [(n3+1)==0];subplot(1,3,1);stem(n3,x3);n4 = [-3:3];x4 = [(n4-3)==0];subplot(1,3,2);stem(n4,x4);n5 = [-3:3];x5 = 1.5*x3 - x4;subplot(1,3,3);stem(n5,x5);②理论计算:x(n)=③程序运行结果:图(1)从图(1)左侧起第一幅图是信号δ(n+1)的波形,第二幅图是信号δ(n-3)的波形,最后一幅图是信号x(n) = 1.5*δ(n+1) - δ(n-3)的波形。
离散信号的产生、显示及离散序列的卷积和matlab实现

离散信号的产生、显示及离散序列的卷积和matlab实现离散信号的产生可以通过一个生成离散序列的函数来实现。
Matlab提供了一些内置的函数来生成常见的离散信号,例如单位阶跃函数(heaviside)、单周期方波(square)、正弦信号(sin)、脉冲(impulse)等。
离散信号的显示可以使用Matlab的plot函数来实现。
将离散序列作为函数的输入参数,然后使用plot函数绘制出序列的图像。
离散序列的卷积可以使用conv函数来实现。
conv函数接受两个输入信号,并返回它们的离散卷积结果。
下面是一个示例代码演示离散信号的产生、显示和离散序列的卷积:```matlab% 产生离散信号n = 0:1:9; % 定义离散点的范围x1 = heaviside(n-2); % 单位阶跃函数x2 = square(n); % 单周期方波x3 = sin(n); % 正弦信号% 显示离散信号figure;subplot(3,1,1);stem(n, x1);title('单位阶跃函数');subplot(3,1,2);stem(n, x2);title('单周期方波');subplot(3,1,3);stem(n, x3);title('正弦信号');% 离散序列的卷积h = [1, 2, 1]; % 卷积核y = conv(x3, h); % 卷积运算figure;subplot(2,1,1);stem(x3);title('输入信号');subplot(2,1,2);stem(y);title('卷积结果');```在上面的代码中,首先定义了离散序列的范围n,然后使用内置函数生成了三个不同的离散信号x1、x2和x3。
接下来,使用subplot函数将三个离散信号的图像显示在一个图形窗口中。
最后,定义了一个卷积核h,并使用conv函数对x3进行卷积运算,得到卷积结果y。
实验一:用MATLAB产生时域离散信号

实验一:用MA TLAB 产生时域离散信号一、实验目的1、了解常用时域离散信号及其特点2、掌握用MATLAB 产生时域离散信号的方法二、实验内容及步骤1、编写程序,产生以下离散序列: (1)f (n )=δ(n ) (-3<n<4) n1=-3;n2=4;n0=0;n=n1:n2; x=[n==n0]; stem (n ,x,'filled’); axis([n1,n2,0,1。
1*max(x)]);xlabel(’时间(n)');ylabel(’幅度x (n )'); title ('单位脉冲序列’);时间(n)幅度x (n )单位脉冲序列(2)f (n )=u (n) (—5<n 〈5)n1=-5;n2=5;n0=0; n=n1:n2;x=[n>=n0]; stem(n ,x ,’filled’);axis ([n1,n2,0,1.1*max (x)]); xlabel('时间(n )');ylabel ('幅度x(n)’); title ('单位阶跃序列’); box时间(n)幅度x (n )单位阶跃序列(3)f (n )= e (0。
1+j1。
6∏)n (0<n 〈16)n1=16;a=0.1;w=1。
6*pi; n=0:n1;x=exp((a+j *w )*n );subplot (2,2,1);plot (n,real(x)); title(’复指数信号的实部');subplot (2,2,3);stem (n ,real(x ),'filled’); title (’复指数序列的实部'); subplot (2,2,2);plot(n,imag (x)); title('复指数信号的虚部');subplot (2,2,4);stem (n ,imag (x),'filled'); title (’复指数序列的虚部'); box5101520-4-20246复指数信号的实部05101520复指数序列的实部5101520-6-4-2024复指数信号的虚部05101520复指数序列的虚部(4)f (n)=3sin (nП/4) (0〈n 〈20)f=1/8;Um=3;nt=3; N=20;T=1/f ; dt=T/N; n=0:nt*N-1; tn=n *dt;x=Um*sin (2*f*pi*tn ); subplot (2,1,1);plot (tn,x);axis([0,nt *T ,1.1*min (x),1。
一、基本离散信号的MATLAB产生和图形实现

n=0:n-1;a=0.6;x3=a.^n; %实指数序列
w0=pi/3; ang=pi/15; x4=sin(n*w0+ang);%正弦序列
x5=exp((a+j*w0)*n); %复指数序列
figure(1); %建立一个绘制框
subplot(3,1,1);stem(x1); %绘制单位冲激序列
ylabel('x_1(n)=\delta(n)'); %在Y轴上描述
subplot(3,1,2);stem(x2); %绘制单位阶跃序列
ylabel('x_2(n)=u(n)');
subplot(3,1,3);stem(x3); %绘制实指数序列
ylabel('x_3(n)=0.6^n');xlabel('n');
5、变量名可以由字母、数字和下划线组成。但必须以字母开头。变量名区分大小写。字符长度不超过63。
6、可以编写以.m为扩展名的文件:有两种形式,一是命令叠加;二是function定义函数形式,不需要end结尾。
3、直接表达法描述序列:
n=50; %序列长度
x1=[1,zeros(1,n-1)]; %单位冲激序列
figure(2);
subplot(2,1,1);stem(x4); %绘制正弦序列
ylabel('x_4(n)=sin(\pin/3+\pi/15)');
subplot(2,1,2);stem(abs(x5)); %绘制复指数序列
ylabel('x_5(n)=e^(^0^.^6^+^j^*^\pi^/^3^)^*^n');xlabel('n');%结果1-1和1-2