信号与系统实验一:基本信号的产生和实现 您所在的位置:网站首页 单边指数信号图像 信号与系统实验一:基本信号的产生和实现

信号与系统实验一:基本信号的产生和实现

2023-10-20 11:45| 来源: 网络整理| 查看: 265

华工实验一 基本信号的产生和实现 一、实验目的:

\qquad 学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统设计奠定基础。

二、实验原理:

\qquad MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号是信号处理的基础。

1.连续信号的产生: (1)连续阶跃信号的产生:

\qquad 产生阶跃信号的MATLAB程序如下:

t= -2: 0.02: 6; x=(t>=0); plot(t,x); axis([-2,6,0,1.2]);

在这里插入图片描述

(2)连续指数信号的产生

\qquad 产生随时间衰减的指数信号的MATLAB程序如下:

t = 0: 0.001: 5; x = 2*exp(-1*t); plot(t,x);

在这里插入图片描述

(3)连续正弦信号的产生

\qquad 利用MATLAB提供的函数cos和sin可产生正弦和余弦信号。产生一个幅度为2,频率为4Hz,相位为p/6的正弦信号的MATLAB程序如下:

f0=4; w0=2*pi*f0; t = 0: 0.001: 1; x = 2*sin(w0*t+ pi/6); plot(t,x);

在这里插入图片描述

(4)连续矩形脉冲信号的产生

\qquad 函数rectpulse(t,w)可产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。 产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB程序如下:

t=-2: 0.02: 6; x=rectpuls(t-2,4); plot(t,x);

在这里插入图片描述

(5)连续周期矩形波信号的产生

\qquad 函数square(w0*t)产生基本频率为w0 (周期T=2p/w0)的周期矩形波信号。 \qquad 函数square(w0*t, DUTY)产生基本频率为w0 (周期T=2p/w0)、占空比DUTY= t/T*100的周期矩形波。 \qquad t为一个周期中信号为正的时间长度。t=T/2,DUTY=50,square(w0*t, 50)等同于square(w0*t)。 \qquad 产生一个幅度为1, 基频为2Hz,占空比为50%的周期方波的MATLAB程序如下: f0=2;

t = 0:.0001:2.5; w0=2*pi*f0; y = square(w0*t, 50); %duty cycle=50% plot(t,y); axis([0,2.5,-1.5,1.5]);

在这里插入图片描述

(6)连续抽样信号的产生

\qquad 可使用函数sinc(x)计算抽样信号 ,函数sinc(x)的定义为 。产生信号 的MATLAB程序如下:

t= -10:1/500:10; x=sinc(t/pi); plot(t,x);

在这里插入图片描述

2.离散信号的产生 (1)单位脉冲序列的产生

\qquad 函数zeros(1,n) 可以生成单位脉冲序列。 \qquad 函数zeros(1,n)产生1行n列的由0组成的矩阵。 \qquad 产生成单位脉冲序列的MATLAB程序如下:

k= -4: 20; x=[zeros(1,7),1,zeros(1,17)]; stem(k,x)

在这里插入图片描述

(2)单位阶跃序列的产生

\qquad 函数ones(1,n) 可以生成单位阶跃序列。 \qquad 函数ones(1,n)产生1行n列的由1组成的矩阵。 \qquad 产生单位阶跃序列的MATLAB程序如下:

k= -4:20; x=[zeros(1,7),ones(1,18)]; stem(k,x)

在这里插入图片描述

(3)指数序列的产生

\qquad 产生离散序列的MATLAB程序如下:

k = -5:15; x = 0.3*(1/2).^k; stem(k,x);

在这里插入图片描述

(4)正弦序列的产生

\qquad 产生正弦序列的MATLAB程序如下:

k=-10:10; omega=pi/3;x = 0.5*sin(omega*k+ pi/5); stem(k,x);

在这里插入图片描述

(5)白噪声序列的产生

\qquad 白噪声序列在信号处理中是常用的序列。 \qquad 函数rand可产生在[0,1]区间均匀分布的白噪声序列, \qquad 函数randn可产生均值为0,方差为1的高斯分布白噪声。

N=20;k=0:N-1; x=rand (1,N) stem(k,x);

在这里插入图片描述

(6)离散周期矩形波序列的产生

\qquad 产生幅度为1、基频rad、占空比为50%的周期方波的MATLAB程序如下:

omega=pi/4; k=-10:10; x = square(omega*k,50); stem(k,x);

在这里插入图片描述

3.序列的基本运算

在这里插入图片描述

离散序列: x [ k ] = [ 1 , 2 , 1 , 1 , 0 , − 3 ; k = 0 , 1 , 2 , 3 , 4 , 5 ] x[k]=[1,2,1,1,0,-3;k=0,1,2,3,4,5] x[k]=[1,2,1,1,0,−3;k=0,1,2,3,4,5], h [ k ] = [ 1 , − 1 , 1 ; k = 0 , 1 , 2 ] h[k]=[1,-1,1;k=0,1,2] h[k]=[1,−1,1;k=0,1,2] (1)计算离散卷积和 y [ k ] = x [ k ] ∗ h [ k ] y[k]=x[k]*h[k] y[k]=x[k]∗h[k] (2)计算离散自相关函数: R x y [ n ] = ∑ k = − ∞ + ∞ x [ k ] y [ k + n ] \displaystyle R_{xy}[n]=\sum_{k=-∞}^{+∞}x[k]y[k+n] Rxy​[n]=k=−∞∑+∞​x[k]y[k+n] MATLAB程序如下:

x=[1,2,1,1,0,-3]; h=[1,-1,1]; %计算离散卷积和 y=conv(x,h); subplot(2,1,1); stem([0:length(y)-1],y); title('y[k]');xlabel(' k'); %计算离散自相关函数 y=xcorr(x,x); subplot(2,1,2); m=(length(y)-1)/2; stem([-m:m],y); title('Rxx[n]');xlabel('n'); 三、实验内容:

1.利用Matlab产生下列连续信号并作图。 (1) x ( t ) = − 2 u ( u − 1 ) , − 1 < t < 5 x(t)=-2u(u-1),\qquad -1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有