《通信原理》课程教学资源(实验指导)通信系统与信号处理MATLAB仿真基础实验

通信系统与信号处理MATLAB仿真基础实验(可选)一、实验目的1.熟悉用MATLAB表示常用连续信号和离散信号的方法,掌握用MATLAB进行信号基本运算的方法;2.熟悉利用MATLAB实现信号傅里叶变换:3.掌握利用MATLAB进行AWGN信道的仿真。二、实验内容1、连续信号和离散信号表示连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号等。在MATLAB中,指数信号用exp函数表示;正弦信号用sin函数表示:三角信号用tripuls函数表示;矩形脉冲信号可用rectpuls函数表示。要求一:利用下表中函数产生通信中常见的信号,并绘图画出信号波形:改变相应参量,观察信号波形变化规律。函数名功能函数名功能产生冲激串sawtooth产生锯齿波或三角波信号pulstranrectpulssquare产生方波信号产生非周期的方波信号sinc产生sinc函数波形tripuls产生非周期的三角波信号diricchirp产生调频余弦信号产生Dirichlet或周期sinc函数产生高斯正弦脉冲信号产生高斯单脉冲信号gauspulsgmonopuls电压控制振荡器VCOsincos正弦和余弦信号在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。MATLAB中表示离散时间信时,f(k)需要两个行向量,一个是表示序号k=[],一
通信系统与信号处理 MATLAB 仿真基础实验(可选) 一、实验目的 1. 熟悉用 MATLAB 表示常用连续信号和离散信号的方法,掌握用 MATLAB 进行信号 基本运算的方法; 2. 熟悉利用 MATLAB 实现信号傅里叶变换; 3. 掌握利用 MATLAB 进行 AWGN 信道的仿真。 二、实验内容 1、 连续信号和离散信号表示 连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不 连续点之外,信号都有确定的值与之对应。严格来说,MATLAB 并不能处理连续信号,而是 用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就 能较好地近似连续信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法 是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值 矢量,可用绘图语句画出其波形;符号法是利用 MATLAB 的符号运算功能,需定义符号变量 和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。 MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号等。在 MATLAB 中,指数信号用 exp 函数表示; 正弦信号用 sin 函数表示;三角信号用 tripuls 函数表 示;矩形脉冲信号可用 rectpuls 函数表示。 要求一:利用下表中函数产生通信中常见的信号,并绘图画出信号波形;改变相应参 量,观察信号波形变化规律。 函数名 功能 函数名 功能 sawtooth 产生锯齿波或三角波信号 pulstran 产生冲激串 square 产生方波信号 rectpuls 产生非周期的方波信号 sinc 产生 sinc 函数波形 tripuls 产生非周期的三角波信号 chirp 产生调频余弦信号 diric 产生 Dirichlet 或周期 sinc 函数 gauspuls 产生高斯正弦脉冲信号 gmonopuls 产生高斯单脉冲信号 vco 电压控制振荡器 sin cos 正弦和余弦信号 在 MATLAB 中,无论是连续时间信号还是离散时间信号,MATLAB 都是用一个数字序列来 表示信号,这个数字序列在 MATLAB 中叫做向量(vector)。通常的情况下,需要与时间变量 相对应。MATLAB 中表示离散时间信时,f(k)需要两个行向量,一个是表示序号 k=[ ],一

个是表示相应函数值f=[],画图命令是stem。在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数:而对k为自变量的离散序列,在绘图时统一用stem函数。2、信号基本运算信号基本运算包括加法、乘法、尺度变换、反转、平移、微分、积分和卷积等,实现方法有数值法和符号法。信号的相加y=x1+x2MATLAB实现:y(n)=x1(n)+x2(n)信号的相乘y(n)=xl(n)Xx2(n)MATLAB实现:y=x1.*x2。要求信号对应同一时刻信号取值的相加和相乘。序列翻褶:y(n)=x(-n),MATLAB可实现:y=fliplr(x)。两序列卷积运算:J(n)=x(n)*x,(n)=x(m)xz(n-m);MATLAB实现:y=conv(x1,x2)。序列xl(n)和x2(n)必须长度有限。两序列相关运算:J(m)=x(n)x,(n-m);MATLAB实现:y=Xcorr(xl,x2)。(n)-x(i);MATLAB实现: y=cumsum(x)。序列累加的数学描述为:N信号能量E=x[n]·x*[n];MATLAB实现:E=sum(x.*conj(x)n=0或E=sum(abs(x).^2)。1信号功率P=x[n]};MATLAB实现:P=sum(x.*conj(x)/NNO或 E=sum(abs(x).^2)/N要求二:利用要求一中的信号进行上述信号基本运算,画出运算前后的信号波形。3、信号的傅里叶变换MATLAB的符号运算工具箱(symbolicMathToolbox)提供了直接求解傅里叶变换及逆变换的函数。fourierO及ifourierO两者的调用格式如下:Fourier变换的调用格式F=fourier(f),它是符号函数f的fourier变换默认返回是关于w的函数。F=fourier(f,v),它返回函数F是关于符号对象v的函数,而不是默认的w,即F(v)= f(x)e-dxFourier逆变换的调用格式:f=ifourier(F),它是符号函数F的fourier逆变换,默认的独立变量为w,默认返回是关于x的函数。f=ifourier(f,u),它的返回函数f是u的函数,而不是默认的x。注意:在调用函数fourierO及ifourierO之前,要用syms命令对所用到的变量(如t,u,v,w)进行说明,即将这些变量说明成符号变量
个是表示相应函数值 f=[ ],画图命令是 stem。在 MATLAB 可视化绘图中,对于以 t 为自 变量的连续信号,在绘图时统一用 plot 函数;而对 k 为自变量的离散序列,在绘图时统一 用 stem 函数。 2、 信号基本运算 信号基本运算包括加法、乘法、尺度变换、反转、平移、微分、积分和卷积等,实现方 法有数值法和符号法。 信号的相加 y=x1+x2 MATLAB 实现 : y(n)=x1(n)+x2(n) 。 信号的相乘 y(n)=x1(n)×x2(n) MATLAB 实现: y=x1.*x2 。 要求信号对应同一时刻信号取值的相加和相乘。 序列翻褶:y(n)=x(-n),MATLAB 可实现: y=fliplr(x)。 两序列卷积运算: 1 2 12 () () () ( ) ( ) m y n x n x n x mx n m ; MATLAB 实现:y=conv(x1,x2)。序列 x1(n)和 x2(n)必须长度有限。 两序列相关运算: 1 2 ( ) () ( ) n y m x nx n m ;MATLAB 实现:y=xcorr(x1,x2)。 序列累加的数学描述为: ( ) () s n i n y n xi ;MATLAB 实现:y=cumsum(x)。 信号能量 0 [ ] *[ ] N n E xn x n ;MATLAB 实现: E=sum(x.*conj(x)) 或 E=sum(abs(x).^2) 。 信号功率 1 2 0 1 [ ] N n P xn N ;MATLAB 实现: P=sum(x.*conj(x))/N 或 E=sum(abs(x).^2)/N 。 要求二:利用要求一中的信号进行上述信号基本运算,画出运算前后的信号波形。 3、 信号的傅里叶变换 MATLAB 的符号运算工具箱(symbolic Math Toolbox) 提供了直接求解傅里叶变换及 逆变换的函数。fourier()及 ifourier() 两者的调用格式如下: Fourier 变换的调用格式 F=fourier(f) ,它是符号函数 f 的 fourier 变换默认返回是关于 w 的函数。 F=fourier(f,v) , 它返回函数 F 是关于符号对象 v 的函数,而不是默认的 w,即 () () jvx F v f x e dx Fourier 逆变换的调用格式: f=ifourier(F), 它是符号函数 F 的 fourier 逆变换,默认的独立变量为 w,默认返回 是关于 x 的函数。 f=ifourier(f,u), 它的返回函数 f 是 u 的函数,而不是默认的 x。 注意:在调用函数 fourier()及 ifourier()之前,要用 syms 命令对所用到的变量(如 t,u,v,w)进行说明,即将这些变量说明成符号变量

要求三:利用fourierO及ifourierO对常见信号进行频域分析。用MATLAB符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出错,这时用MATLAB的数值计算也可以求连续信号的傅里叶变换,计算原理是F(jo)= f"f(t) e-jon dt = lim Zf(nt)e-jomtt1-0当T足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可以近似地看成时限信号时,n的取值就是有限的,设为N,有N=2元kZf(nt)e-i"t,0≤ksN,O=F(k)=是频率取样点n=0时间信号取样间隔T应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度要求确定一个频率WO为信号的带宽。MATLAB中提供了快速傅里叶变换函数fft和逆变换函数ifft。一维快速正傅里叶变换函数fft格式:X=fft(x,N)功能:采用FFT算法计算序列向量x的N点DFT变换,当N缺省时,fft函数自动按x的长度计算DFT。当N为2整数次幂时,fft按基-2算法计算,否则用混合算法。一维快速逆傅里叶变换函数ifft格式:x=ifft(X,N)功能:采用FFT算法计算序列向量X的N点IDFT变换。需要注意的是:对于周期信号Y=fft(x)之后,这个Y一般是一个复数,它的模值应该除以length(x),(亦为信号采样点数)才能得到各个频率信号实际双边幅值(单边幅值除1ength(x)/2);对于非周期信号Y=fft(x)之后,这个Y一般是一个复数,它的模值应该除以length(x)且乘上截短时间T,才能得到各个频率信号实际双边幅值(单边幅值除1ength(x)/2且乘上截短时间T):fftshift作用:将零频点移到频谱的中间,即将FFT的DC分量移到频谱中心。用法:Y=fftshift(x)Y=fftshift(X,dim)描述:fftshift移动零频点到频谱中间,重新排列fft的输出结果,将零频点放到频谱的中间。要求四:利用fft、ifft和fftshift做常见信号的频域双边谱和单边幅度谱分析,并与理论公式对应验证
要求三:利用 fourier()及 ifourier()对常见信号进行频域分析。 用 MATLAB 符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出 错,这时用 MATLAB 的数值计算也可以求连续信号的傅里叶变换,计算原理是 n j t j n F j f t e dt f n e ( ) ( ) lim ( ) 0 当 足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时, 信号已衰减的很厉害,可以近似地看成时限信号时,n 的取值就是有限的,设为 N,有 k N F k f n e k N k N n j nk 2 ( ) ( ) , 0 , 1 0 是频率取样点 时间信号取样间隔 应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度 要求确定一个频率 W0 为信号的带宽。 MATLAB 中提供了快速傅里叶变换函数 fft 和逆变换函数 ifft。 一维快速正傅里叶变换函数 fft 格式:X=fft(x, N) 功能:采用 FFT 算法计算序列向量 x 的 N 点 DFT 变换, 当 N 缺省时,fft 函数自动 按 x 的长度计算 DFT。当 N 为 2 整数次幂时,fft 按基-2 算法计算,否则用混合算法。 一维快速逆傅里叶变换函数 ifft 格式:x=ifft(X, N) 功能:采用 FFT 算法计算序列向量 X 的 N 点 IDFT 变换。 需要注意的是: 对于周期信号 Y=fft(x)之后,这个Y 一般是一个复数,它的模值应该除以 length(x), (亦为信号采样点数)才能得到各个频率信号实际双边幅值( 单边幅值除 length(x)/2 ); 对于非周期信号 Y=fft(x)之后,这个Y 一般是一个复数,它的模值应该除以 length(x) 且乘上截短时间T,才能得到各个频率信号实际双边幅值( 单边幅值除 length(x)/2且乘 上截短时间T ); fftshift 作用:将零频点移到频谱的中间,即将FFT 的DC 分量移到频谱中心。 用法: Y=fftshift(X) Y=fftshift(X,dim) 描述:fftshift 移动零频点到频谱中间,重新排列fft的输出结果,将零频点放到频 谱的中间。 要求四:利用fft、ifft和fftshift做常见信号的频域双边谱和单边幅度谱分析,并 与理论公式对应验证

4、AWGN信道仿真加性高斯白噪声(AWGN)是最常见的一种噪声,它存在于各种传输媒质中,包括有线信道和无线信道。加性高斯白噪声表现为信号围绕平均值的一种随机波动过程。加性高斯白噪声的均值为0,方差是噪声功率的大小。一般情况下,噪声功率越大,信号的波动幅度就越大,接收端接收到的信号的误比特率就越高。在研究通信系统的误码率信道质量的关系时,一般先研究它在AWGN信道下的性能,然后再把它推广到具有快衰落的复杂情况。在MATLAB中提供了AWGN函数用以产生高斯白噪声,常见三种调用方式如下:awgn(xsnr)函数awgn(x,snr)把加性高斯白噪声叠加到输入信号x中,snr以dB的形式指定噪声的功率。在这种情况下,信号x的功率假设设为OdBW,因此,噪声的功率实际上就等于-snr(dBW)。如果x是复数,那么awgn将添加复数噪声。awgn(x,snr,sigpower)这个方法是假设了输入信号的功率为sigpower(单位:dBw)。awgn(x,snr'measured)首先计算输入信号x的功率,然后按照snr添加相应功率的高斯白噪声。此外MATLAB中提供的randn函数也可以用来产生加性高斯白噪声。randn(m,n)返还一个m行n列的随机矩阵,其中每一行和每一列都服从均值为O,方差为1的正态分布。若x为已知时域信号,则n=sqrt(pn)*randn(1,length(x))是产生均值为0、方差为pn的与信号同维的高斯白噪声信号,pn往往可根据信噪比求得。要求五:分别利用awgn函数和randn函数针对正旋波信号产生高斯白噪声,并做图对比正旋波信号、高斯白噪声信号和叠加了噪声以后的信号;分析信号功率、噪声功率和信噪比的理论关系并验证。三、程序实例例指数信号指数信号在MATLAB中用exp函数表示。如f(t)=Ae,调用格式为ft=A*exp(a*t))程序是A=1; a=-0.4;t=0:0.01:10;%定义时间点%计算这些点的函数值fl=A*exp(a*t),plot(t,ft);%画图命令,用直线段连接函数值表示曲线%在图上画方格grid on;例正弦信号正弦信号在MATLAB中用sin函数表示。调用格式为f=A*sin(w*t+phi)A=1; w=2*pi; phi-pi/6t=0:0.01:8;%定义时间点
4、 AWGN 信道仿真 加性高斯白噪声(AWGN)是最常见的一种噪声,它存在于各种传输媒质中,包括有线信 道和无线信道。加性高斯白噪声表现为信号围绕平均值的一种随机波动过程。加性高斯白噪 声的均值为 0,方差是噪声功率的大小。一般情况下,噪声功率越大,信号的波动幅度就越 大,接收端接收到的信号的误比特率就越高。在研究通信系统的误码率信道质量的关系时, 一般先研究它在 AWGN 信道下的性能,然后再把它推广到具有快衰落的复杂情况。 在 MATLAB 中提供了 AWGN 函数用以产生高斯白噪声,常见三种调用方式如下: awgn(x,snr) 函数 awgn(x,snr)把加性高斯白噪声叠加到输入信号 x 中,snr 以 dB 的形 式指定噪声的功率。在这种情况下,信号 x 的功率假设设为 0dBW,因此,噪声的功率实际上 就等于-snr(dBW)。如果 x 是复数,那么 awgn 将添加复数噪声。 awgn(x,snr,sigpower) 这个方法是假设了输入信号的功率为 sigpower(单位:dBW)。 awgn(x,snr,’measured’) 首先计算输入信号 x 的功率,然后按照 snr 添加相应功率的高斯 白噪声。 此外 MATLAB 中提供的 randn 函数也可以用来产生加性高斯白噪声。 randn(m,n) 返还一个 m 行 n 列的随机矩阵,其中每一行和每一列都服从均值为 0, 方差为 1 的正态分布。 若 x 为已知时域信号,则 n=sqrt(pn)*randn(1,length(x)) 是产生均值为 0、方差为 pn 的与信号同维的高斯白噪声信号,pn 往往可根据信噪比求得。 要求五:分别利用 awgn 函数和 randn 函数针对正旋波信号产生高斯白噪声,并做图对 比正旋波信号、高斯白噪声信号和叠加了噪声以后的信号;分析信号功率、噪声功率和信 噪比的理论关系并验证。 三、程序实例 例 指数信号 指数信号在 MATLAB 中用 exp 函数表示。 如 at f (t) Ae ,调用格式为 ft=A*exp(a*t) 程序是 A=1; a=-0.4; t=0:0.01:10; %定义时间点 ft=A*exp(a*t); %计算这些点的函数值 plot(t,ft); %画图命令,用直线段连接函数值表示曲线 grid on; %在图上画方格 例 正弦信号 正弦信号在 MATLAB 中用 sin 函数表示。 调用格式为 ft=A*sin(w*t+phi) A=1; w=2*pi; phi=pi/6; t=0:0.01:8; %定义时间点

ft=A*sin(w*+phi);%计算这些点的函数值%画图命令plot(t,ft),grid on;%在图上画方格例抽样信号抽样信号Sa(t)=sin(t)/t在MATLAB中用sinc函数表示。定义为Sa(t)=sinc(t/元)t=-3*pi:pi/100:3*pi;ft=sinc(t/pi),plot(t,ft),grid on;%定义画图范围,横轴,纵轴axis([-10,10,-0.5,1.2]);title(抽样信号)%定义图的标题名字例三角信号三角信号在MATLAB中用tripuls函数表示。调用格式为ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。width的默认值是1,skew的取值范围是-1~+1之间。一般最大幅度1出现在t=(width/2)*skew的横坐标位置。t=-3:0.01:3;ft=tripuls(t,4,0.5);plot(t,ft); grid on,axis([-3,3,-0.5,1.5]);例虚指数信号调用格式是fexp(G*w)*t)t=0:0.01:15;w=pi/4;X=exp(j*w*t),Xr=real(X),%取实部Xi=imag(X);%取虚部Xa=abs(X);%取模%取相位Xn=angle(X)subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5),title(实部);subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5)),title(虚部),subplot(2,2,2),plot(t,Xa),axis([0,15,0,max(Xa)+1)),title(模);subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1)),title(相角');%subplot(m,ni)命令是建立m行n列画图窗口,并指定画图位置i例复指数信号调用格式是f=exp((a+j*b)*t)t=0:0.01:3;a=-1;b=10;f=exp((a+j*b)*t);subplot(2,2,1),plot(t,real(f),title(实部)subplot(2,2,3),plot(t,imag(f),title(虚部)
ft=A*sin(w*t+phi); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %在图上画方格 例 抽样信号 抽样信号 Sa(t)=sin(t)/t 在 MATLAB 中用 sinc 函数表示。 定义为 Sa(t) sin c(t / ) t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴 title('抽样信号') %定义图的标题名字 例 三角信号 三角信号在 MATLAB 中用 tripuls 函数表示。 调用格式为 ft=tripuls(t,width,skew),产生幅度为 1,宽度为 width,且以 0 为中心左右各 展开 width/2 大小,斜度为 skew 的三角波。width 的默认值是 1,skew 的取值范围是-1~+1 之间。一般最大幅度 1 出现在 t=(width/2)*skew 的横坐标位置。 t=-3:0.01:3; ft=tripuls(t,4,0.5); plot(t,ft); grid on; axis([-3,3,-0.5,1.5]); 例 虚指数信号 调用格式是 f=exp((j*w)*t) t=0:0.01:15; w=pi/4; X=exp(j*w*t); Xr=real(X); %取实部 Xi=imag(X); %取虚部 Xa=abs(X); %取模 Xn=angle(X); %取相位 subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('实部'); subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('虚部'); subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模'); subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角'); %subplot(m,n,i) 命令是建立 m 行 n 列画图窗口,并指定画图位置 i 例 复指数信号 调用格式是 f=exp((a+j*b)*t) t=0:0.01:3; a=-1;b=10; f=exp((a+j*b)*t); subplot(2,2,1),plot(t,real(f)),title('实部') subplot(2,2,3),plot(t,imag(f)),title('虚部')

subplot(2,2,2),plot(t,abs(f),title(模)subplot(2,2,4),plot(t,angle(f),title(相角)例矩形脉冲信号矩形脉冲信号可用rectpuls函数产生,调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。{=-2:0.01:2;width=1;ff=-2*rectpuls(t,width);plot(t,ft)grid on;,例单位阶跃信号单位阶跃信号u(t)用"t>=0"产生,调用格式为ft=(t>=0)t=-1:0.01:5;ft=(t>=0);plot(tft),grid on,axis([-1,5,-0.5,1.5]),例正弦信号符号算法%定义符号变量tsymsty=sin(pi/4*t)%符号函数表达式%符号函数画图命令ezplot(y,[-16,16])或者%定义符号函数表达式f=sym('sin(pi/4*t))ezplot(f,[-16,16])例单位阶跃信号MATTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建Heaviside的M文件Matlab中自带heaviside函数function f=Heaviside(t)f-(t>0);保存,文件名是Heaviside,调用该函数即可画图,例t=-1:0.01:3;f-heaviside(t);plot(t,f)axis([-1,3,-0.2,1.2])或者y=sym(Heaviside(t);ezplot(y,[-1,5]);grid on例正弦序列信号正弦序列信号可直接调用MATLAB函数cos,例cos(のk+β),当2元/の是整数或分数时,才是周期信号。画cos(k元/8+?),cos(2k)波形程序是:
subplot(2,2,2),plot(t,abs(f)),title('模') subplot(2,2,4),plot(t,angle(f)),title('相角') 例 矩形脉冲信号 矩形脉冲信号可用 rectpuls 函数产生, 调用格式为 y=rectpuls(t,width),幅度是 1,宽度是 width,以 t=0 为对称中心。 t=-2:0.01:2; width=1; ft=2*rectpuls(t,width); plot(t,ft) grid on; 例 单位阶跃信号 单位阶跃信号 u(t)用“t>=0”产生,调用格式为 ft=(t>=0) t=-1:0.01:5; ft=(t>=0); plot(t,ft); grid on; axis([-1,5,-0.5,1.5]); 例 正弦信号符号算法 syms t %定义符号变量 t y=sin(pi/4*t) %符号函数表达式 ezplot(y,[-16,16]) %符号函数画图命令 或者 f=sym('sin(pi/4*t)') %定义符号函数表达式 ezplot(f,[-16,16]) 例 单位阶跃信号 MATTLAB 符号数学函数 Heaviside 表示阶跃信号,但要画图需在工作 目录创建 Heaviside 的 M 文件 Matlab 中自带 heaviside 函数 function f=Heaviside(t) f=(t>0); 保存,文件名是 Heaviside ,调用该函数即可画图,例 t=-1:0.01:3; f=heaviside(t); plot(t,f) axis([-1,3,-0.2,1.2]) 或者 y=sym('Heaviside(t)'); ezplot(y,[-1,5]);grid on 例 正弦序列信号 正弦序列信号可直接调用 MATLAB 函数 cos,例 cos(k ) ,当 2 / 是整数或分数时,才是周期信号。画cos(k / 8 ) ,cos(2k)波形程序是:

k=0:40;subplot(2,1,1)stem(k,cos(k*pi/8),filled')title(cos(k*pi/8))subplot(2,1,2)stem(k,cos(2*k),filled)title('cos(2*k))[1 k=0例单位序列信号(k)=10k+0本题先建立一个画单位序列(k+k.)的M函数文件,画图时调用。M文件建立方法file/new/m-file在文件编辑窗输入程序,保存文件名用函数名。%klk2是画图时间范围,ko是脉冲位置functiondwxulie(k1,k2,ko)k=kl:k2;n=length(k),f=zeros(1,n);f(1,-k0-k1+1)=1;stem(k,f,'filled')axis([k1,k2,0,1.5])title(单位序列8(k))保存文件名dwxulie.m画图时在命令窗口调用,例:dwxulie(-5,5,0)(1 k≥0例单位阶跃序列信号k)=10k<0本题也可先建立一个画单位阶跃序列ε(k+k。)的M函数文件,画图时调用。functionjyxulie(k1,k2,ko)k=k1:-k0-1;kk=-ko:k2;n=length(k);nn=length(kk) ;u=zeros(1,n);uu=ones(1,nn);stem(kk,uu,filled')hold onstem(k,u,'filled')hold offtitle(单位阶跃序列)axis([k1 k2 0 1.5])保存文件名jyxulie.m
k=0:40; subplot(2,1,1) stem(k,cos(k*pi/8),'filled') title('cos(k*pi/8)') subplot(2,1,2) stem(k,cos(2*k),'filled') title('cos(2*k)') 例 单位序列信号 0 0 1 0 ( ) k k k 本题先建立一个画单位序列 ( ) 0 k k 的 M 函数文件,画图时调用。M 文件建立方法: file / new / m-file 在文件编辑窗输入程序,保存文件名用函数名。 function dwxulie(k1,k2,k0) % k1 , k2 是画图时间范围,k0 是脉冲位置 k=k1:k2; n=length(k); f=zeros(1,n); f(1,-k0-k1+1)=1; stem(k,f,'filled') axis([k1,k2,0,1.5]) title('单位序列 δ(k)') 保存文件名 dwxulie.m 画图时在命令窗口调用,例:dwxulie(-5,5,0) 例 单位阶跃序列信号 0 0 1 0 ( ) k k k 本题也可先建立一个画单位阶跃序列 ( ) 0 k k 的 M 函数文件,画图时调用。 function jyxulie(k1,k2,k0) k=k1:-k0-1; kk=-k0:k2; n=length(k); nn=length(kk) ; u=zeros(1,n); uu=ones(1,nn); stem(kk,uu,'filled') hold on stem(k,u,'filled') hold off title('单位阶跃序列') axis([k1 k2 0 1.5]) 保存文件名 jyxulie.m

画图时在命令窗口调用,例:jyxulie(-38,0)例实指数序列信号f(k)=cak,c、a是实数。建立一个画实指数序列的M函数文件,画图时调用。function dszsu(c,a,k1,k2)%c:指数序列的幅度%a:指数序列的底数%kl:绘制序列的起始序号%k2:绘制序列的终止序号k=k1:k2;X=c*(a. k),stem(k,x,'filled')hold onplot([k1,k2],[0,0]holdoffe(k),J(k)=(-e(k)波形。调用该函数画信号:f(k)=()14dszsu(1,5/4,0,40)dszsu(1,-3/4,0,40)例单位冲激函数、单位冲激序列clear all;clc;t=-5:0.01:5;y=(t==0) ;subplot(1,2,1);plot(t,Y,'r');n=-5:5;x=(n==0) ;subplot(1,2,2);stem(n,x);例单位阶跃函数、单位阶跃序列clear all;clc;t=-5:0.01:5;y=(t>=0) ;subplot(1,2,1);plot(t, y,"r')n=-5:5;x=(n>=0) ;
画图时在命令窗口调用,例:jyxulie(-3,8,0) 例 实指数序列信号 k f (k) ca ,c、 a 是实数。 建立一个画实指数序列的 M 函数文件,画图时调用。 function dszsu(c,a,k1,k2) %c:指数序列的幅度 %a:指数序列的底数 %k1:绘制序列的起始序号 %k2:绘制序列的终止序号 k=k1:k2; x=c*(a.^k); stem(k,x,'filled') hold on plot([k1,k2],[0,0]) hold off 调用该函数画信号: ) ( ) 4 5 ( ) ( 1f k k k , ) ( ) 4 3 ( ) ( 2 f k k k 波形。 dszsu(1,5/4,0,40) dszsu(1,-3/4,0,40) 例 单位冲激函数、单位冲激序列 clear all; clc; t=-5:0.01:5; y=(t==0); subplot(1,2,1); plot(t, y, 'r'); n=-5:5; x=(n==0); subplot(1,2,2); stem(n,x); 例 单位阶跃函数、单位阶跃序列 clear all; clc; t =-5:0.01:5; y=(t>=0); subplot(1,2,1); plot(t, y, 'r') n=-5:5; x=(n>=0);

subplot(1,2,2);stem(n, x);例正余弦信号(序列)实指数信号(序列)复指数信号(序列)clear all;clc;t =-5:0.01:5;subplot(2,2,1);y1=2."t;plot(t, yl, 'r');subplot(2,2,2);a=2;theat=pi/3;y2=sin(2*pi*t+theat);plot(t, y2);subplot(2,1,2);W=4;y3=exp((a+j*w)*t);plot(t,y3, 'y');例"0""1"等概的100个随机比特;"-1"和"+1"概率分别为0.7和0.3的100个随机比特AA=rand(1,100)>=0.5;AAsum(AA)BB=2*(rand(1,100)>=0.7)-1;BB例f(t)为三角信号,求f(2t),f(2-2t)t=-3:0.001:3;ft=tripuls(t,4,0.5),subplot(3,1,1);plot(t,ft), grid on;title (f(t)),ft1= tripuls(2*t,4,0.5);subplot(3,1,2);plot(t,ft1); grid on,title (f(2t);f2= tripuls(2-2*t,4,0.5);subplot(3,1,3);plot(t,ff2); grid on,title (f(2-2t));
subplot(1,2,2); stem(n, x); 例 正余弦信号(序列) 实指数信号(序列) 复指数信号(序列) clear all; clc; t =-5:0.01:5; subplot(2,2,1); y1=2.^t; plot(t, y1, 'r'); subplot(2,2,2); a=2; theat=pi/3; y2=sin(2*pi*t+theat); plot(t, y2); subplot(2,1,2); w=4; y3=exp((a+j*w)*t); plot(t, y3, 'y'); 例 “0” “1”等概的100个随机比特; “-1”和”+1”概率分别为0.7和0.3的100个随机比特. AA=rand(1,100)>=0.5; AA sum(AA) BB=2*(rand(1,100)>=0.7)-1; BB 例 f(t)为三角信号,求 f(2t) , f(2-2t) t=-3:0.001:3; ft=tripuls(t,4,0.5); subplot(3,1,1); plot(t,ft); grid on; title ('f(t)'); ft1= tripuls(2*t,4,0.5); subplot(3,1,2); plot(t,ft1); grid on; title ('f(2t)'); ft2= tripuls(2-2*t,4,0.5); subplot(3,1,3); plot(t,ft2); grid on; title ('f(2-2t)');

例已知fl(t)=sinwt,f2(t)=sin8wt,w=2pi,求fl(t)+f2(t)和fl(t)f2(t)的波形图W=2*pi,t=0:0.01:3;fl=sin(w*t);f2=sin(8*w*t);subplot(211)plot(tf1+1,:,t,f1-1,:,t,f1+f2)grid on,title(f1(t)+f2(t))subplot(212)plot(t,f1,,t,-f1,,tf1.*f2)grid on,title(fl(t)*f2(t))例求一阶导数,已知y=sin(ax),y,=xsinxlnxclearsyms axyl y2%定义符号变量a,x,yl,y2%符号函数yly1=sin(a*x^2);%符号函数y2y2=x*sin(x)*log(x);dy1=diff(y1,'x)%无分号直接显示结果dy2=diff(y2)%无分号直接显示结果Vxxe例求积分)dx,dxax+2Jo (1+ x)2clearsyms ax y3 y4y3=x^5-a*x/2+sqrt(x)/2;y4=(x*exp(x)/(1+x)/2,iy3=int(y3,x)iy4=int(y4,0,1)两个有限长序列fl,f2卷积可调用MATLAB函数conv,调用格式是f=conv(f1,f2),f例是卷积结果,但不显示时间序号,可自编一个函数ddconv给出f和k,并画图。function [f,k]=ddconv(f1,f2,k1,k2)%Thefunction ofcompute f-f1*f2%f:卷积和序列f(k)对应的非零样值向量%k:序列f(k)的对应序号向量%fl:序列fl(k)非零样值向量%f2:序列f2(k)的非零样值向量%kl:序列f1(k)的对应序号向量%k2:序列f2(k)的对应序号向量%计算序列fI与f2的卷积和ff=conv(f1,f2);k0=k1(1)+k2(1);%计算序列f非零样值的起点位置k3=length(f1)+length(f2)-2;%计算卷积和f的非零样值的宽度k=k0:k0+k3;%确定卷积和f非零样值的序号向量subplot(2,2,1)
例 已知 f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求 f1(t)+f2(t)和 f1(t)f2(t) 的波形图 w=2*pi; t=0:0.01:3; f1=sin(w*t); f2=sin(8*w*t); subplot(211) plot(t,f1+1,':',t,f1-1,':',t,f1+f2) grid on,title('f1(t)+f2(t))') subplot(212) plot(t,f1,':',t,-f1,':',t,f1.*f2) grid on,title('f1(t)*f2(t)') 例 求一阶导数,已知 sin( ) 2 y1 ax , y x sin x ln x 2 clear syms a x y1 y2 %定义符号变量 a, x ,y1, y2 y1=sin(a*x^2); %符号函数 y1 y2=x*sin(x)*log(x); %符号函数 y2 dy1=diff(y1, 'x') %无分号直接显示结果 dy2=diff(y2) %无分号直接显示结果 例 求积分, dx x x ax ) 2 ( 5 , 1 0 2 (1 ) dx x xex clear syms a x y3 y4 y3=x^5-a*x^2+sqrt(x)/2; y4=(x*exp(x))/(1+x)^2; iy3=int(y3,'x') iy4=int(y4,0,1) 例 两个有限长序列 f1,f2 卷积可调用 MATLAB 函数 conv,调用格式是 f=conv(f1,f2), f 是卷积结果,但不显示时间序号,可自编一个函数 ddconv 给出 f 和 k,并画图。 function [f,k]=ddconv(f1,f2,k1,k2) %The function of compute f=f1*f2 % f: 卷积和序列 f(k)对应的非零样值向量 % k: 序列 f(k)的对应序号向量 % f1: 序列 f1(k)非零样值向量 % f2: 序列 f2(k)的非零样值向量 % k1: 序列 f1(k)的对应序号向量 % k2: 序列 f2(k)的对应序号向量 f=conv(f1,f2); %计算序列 f1 与 f2 的卷积和 f k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度 k=k0:k0+k3; %确定卷积和 f 非零样值的序号向量 subplot(2,2,1)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《通信原理》课程教学资源(实验指导)数字信号基带传输MATLAB仿真实验.pdf
- 广东科技学院:机电工程学院电子信息工程专业各课程教学大纲汇编(2024版).pdf
- 广东科技学院:机电工程学院通信工程专业各课程教学大纲汇编(2024版).pdf
- 广东科技学院:机电学院集成电路设计与集成系统专业各课程教学大纲汇编(2024版).pdf
- 北京信息科技大学研究生院:信息与通信工程学院各学科课程教学大纲汇编(2024年).pdf
- 东北大学:某学院应用通信工程专业《高等数学建模》课程教学大纲(一).pdf
- 东北大学:某学院应用通信工程专业《复变函数与积分变换》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《数字信号处理》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《电气电子工程导论》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《数字电子技术基础》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《通信原理》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《传感、驱动与控制》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《计算机网络基础》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《工程经济学》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《电路分析与设计》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《DSP技术及应用》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《多媒体图像通信》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《移动通信系统》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《现代通信新技术》课程教学大纲.pdf
- 东北大学:某学院应用通信工程专业《集成电路系统设计》课程教学大纲.pdf
- 《通信原理》课程教学资源(实验指导)模拟调制解调MATLAB仿真实验.pdf
- 《通信原理》课程教学资源(实验指导)数字示波器使用和信号源测试实验.pdf
- 《通信原理》课程教学资源(实验指导)数字调制解调实验.pdf
- 《通信原理》课程教学资源(实验指导)脉冲调制解调实验.pdf
- 《通信原理》课程教学资源(实验指导)数字基带编译码实验.pdf
- 《通信原理》课程教学资源(书籍文献)通信原理(第6版)学习辅导与考研指导(PDF电子版,1/4,第1-4章).pdf
- 《通信原理》课程教学资源(书籍文献)通信原理(第6版)学习辅导与考研指导(PDF电子版,2/4,第5-6章).pdf
- 《通信原理》课程教学资源(书籍文献)通信原理(第6版)学习辅导与考研指导(PDF电子版,3/4,第7-9章).pdf
- 《通信原理》课程教学资源(书籍文献)通信原理(第6版)学习辅导与考研指导(PDF电子版,4/4,第10-14章).pdf
- 《通信原理》课程教学资源(讲义)通信原理重点串联(共十章).doc
- 《通信原理》课程参考教材:《通信原理学习指导》书籍PDF电子版(编著:钱学荣、王禾,电子工业出版社).pdf
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第一章 序论.ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第二章 信号 Signals and Spectra.ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第三章 随机过程.ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第四章 模拟调制系统.ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第五章 数字基带传输系统(1/2).ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第五章 数字基带传输系统(2/2).ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第六章 数字调制系统.ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第七章 模拟信号的数字化传输(1/2).ppt
- 北京邮电大学:《通信系统原理》课程教学课件(PPT讲稿)第七章 模拟信号的数字化传输(2/2).ppt