admin 管理员组

文章数量: 887021


2024年2月19日发(作者:matlab 函数画图)

课题一 信号调制与解调

题目说明:

从语音,图像的原始信息变过来的原始信号频谱分量频率较低,不适宜在信道中长距离传输。因此,在通信系统的发送通端常需要有调制过程将其转换为适合传输的信号,在接收端则需要有调节过程,将信号还原成原来的信息,以便更准确的利用信息。

原理分析:

调制就是按调制信号的变化规律去改变某些参数。解调是调制的逆过程,即从已调制信号中恢复或提取调制信号的过程。幅度调制是正弦型载波的幅度随调制信号变化的过程。

采用模拟调制利用正旋波载波的幅度调制,频率调制和相位调制的方式进行信号的处理。

同步解调端本振信号频率必须与发射端调制的载波信号的频率和相位相同才能实现同步解调。

脉冲调制信号只有在脉冲出现才需要存在,在其他时间内等于零,这样就有可能在这空余的时间间隔中去传输其他路德信号,发送端和接受端的转换开关按照同样的顺序和周期轮流接通各个通道,在信道中传送的是各个脉冲幅度调制信号的和,各个脉冲出现在不同的时间段。而通过接收端的开关以后各路接受端接收到的相当于某一路信号脉冲幅度的结果,可以用低通滤波器进行解调。

实验内容:

1.将一正旋信号x(n)=sin(2πn/256)分别以100000Hz的载波和1000000Hz的取样频率进行调制,写出MATLAB脚本实现抑制载波幅度调制,实现同步解调,滤波输出的波形。

2.分别作出cos(10t)cos(wct)和[1+0.5sin(10t)]cos(wct)的波形图和频谱图,并对上面调制信号进行解调,观察与源图的区别。

模块设计1:1.产生一个输入信号 2.产生一个载波信号

3.构造用于解调的低通滤波器 4.低通滤波解调

5.画图

MATLAB程序1:

>> clear; %清除已存在变量

n=0:0.0001:256; %自变量

e=sin(2*pi*n/256); %调治信号

s=cos(100000*n); % 载波信号

a=e.*s; % 调制

b=a.*s; % 解调

[nb,na]=butter(4,100,'s'); % 低通滤波

sys=tf(nb,na); % 构建sys对象

c=lsim(sys,b,n); %低通滤波

subplot(2,2,1) % 图形输出语句

plot(n,e);

title('调制信号'); %图形标题

>> xlabel('n'),ylabel('e(n)'); %横纵坐标变量

>> grid on %坐标网格

>> subplot(2,2,2) % 图形输出语句

>> plot(n,a);

>> title('调幅信号'); %图形标题

>> xlabel('n'),ylabel('a(n)'); %横纵坐标变量

>> grid on %坐标网格

>> subplot(2,2,3) % 图形输出语句

>> plot(n,b);

>>title('解调波形'); %图形标题

>> xlabel('n'),ylabel('b(n)'); %横纵坐标变量

>> grid on %坐标网格

>> subplot(2,2,4) % 图形输出语句

>> plot(n,c);

>> title('滤波后的波形'); %图形标题

>>xlabel('n'),ylabel('e(n)'); %横纵坐标变量

>> grid on %坐标网格

模块设计2:1.产生两个输入信号 2.用克诺内科内积产生两个周期行序列脉冲

3.调制并向加 4.构造用于解调的低通滤波器 5.低通滤波解调

6画图

MATLAB程序2:

>> clear; % 清除变量

t=0:0.001:9.999; % 定义自变量取值范围和间隔

e1=cos(10*t).*cos(600*t); % 输入信号

e2=(1+0.5*sin(10*t)).*cos(600*t); %输入信号

p0=ones(1,2500);

p1=kron(p0,[1,0,0,0]); %第一个序列脉冲

p2=kron(p0,[0,0,1,0]); % 第二个序列脉冲

a=p1.*e1+p2.*e2; 调制并向加

[nb,na]=butter(4,20,'s'); % 用于解调的低通滤波器

sys=tf(nb,na); %构建sys对象

b1=a.*p1; % 取得第一路信号的脉冲调制信号

c1=lsim(sys,b1,t);%通过低通滤波解调输出

b2=a.*p2; %取得第二路信号的脉冲调制信号

c2=lsim(sys,b2,t); % 通过低通滤波解调输出

subplot(4,2,1) % 图形输出语句

plot(t,e1);title('第一路输出信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

subplot(4,2,2) % 图形输出语句

plot(t,e2);title('第二路输出信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

subplot(4,2,3) % 图形输出语句

plot(t,e1.*p1);title('第一路脉冲调制信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

subplot(4,2,4) % 图形输出语句

plot(t,e2.*p2);title('第二路脉冲调制信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

subplot(4,2,5) % 图形输出语句

plot(t,a);title('合成的传输信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

subplot(4,2,6) % 图形输出语句

plot(t(5001:5250),a(5001:5250));

title('局部放大后的合成信号'),xlabel('t'),ylabel('e(t)');grid on

%图形横纵坐标,标题,坐标网格

实验总结:通过对理论知识的学习,使自己对信号的调制与解调具有一定的认

知水平,然后开始做实验,此时要理论结合实践,作出波形图后要

考虑与理论波形进行比较,比较的方法是,首先判断所测波形是否

正确,若不正确找出错误原因,若正确则分析实测波形与理论波形

不完全相同的原因。

课题二

LTI题目说明:

要对一个系统进行分析,首先要用适当的数学函数来描述系统的工作状系统分析

况。描述系统的方法按照数学模型分为输入输出描述法和状态变量描述法。输入输出描述法一般包括微分方程,系统函数,极零点,频率响应函数等。状态变量描述法是用状态方程和输出方程两个矩阵形式来描述系统的。

原理分析:

多项式用降幂系数行向量量表示,即不多项式各项系数一次降幂次序排放在行向量的元素位置上。

系统函数方式:根据系统函数确定分子分母多项式,构造分子分母行向量,构建sys对象。

极零点方式:将系统函数表示为极零点形式,构造极零点向量,构建sys对象。

状态方程形式:本实验没有选用

实验内容:

用MATLAB描述系统

模块设计:

1.分析系统函数形式 2.选用设置系统参数方法 3.建立sys对象

MATLAB程序:

使用系统传输函数 transfer function 在MATLAB中的构造语句为mysys=tf(num,den) 。 Mysys为sys的创建对象,num为系统函数分子多相式描述,den为系统函数分母多相式描述

1.s/[(s+1)(s+4)]

>> z=[0]; 构造极点向量

>> p=[-1,-4]; 构造零点向量

>> k=1; 系统增益

>> sys1=zpk(z,p,k) 构建sys对象

Zero/pole/gain: 该语句结束返回结果

s

-----------

(s+1) (s+4)

2变形(s+1)/(s2-1)=(s+1)/[(s-1)(s+1)]

>> z=[-1]; 构造极点向量

>> p=[-1,1]; 构造零点向量

>> k=1; 系统增益

>> sys2=zpk(z,p,k) 构建sys对象

Zero/pole/gain: 该语句结束返回结果

(s+1)

-----------

(s+1) (s-1)

3. (s3+6s2+6s)/(s2+6s+8)

确定分子分母多项式为

Ns=s3+6s2+6s

Ds=s2+6s+8

>> Ns=[1,6,6,0]; 构造分子多项式行向量

>> Ds=[1,6,8];

>> sys3=tf(Ns,Ds) 构建sys对象

Transfer function: 该语句结束返回结果

s^3 + 6 s^2 + 6 s

-----------------

s^2 + 6 s + 8

4.(s+2)/(s2+2s+5)

确定分子分母多项式为

Ns=s+2

Ds=s2+2s+5

>> Ns=[1,2]; 构造分子多项式行向量

>> Ds=[1,2,5]; 构造分母多项式行向量

>> sys4=tf(Ns,Ds) 构建sys对象

Transfer function: 该语句结束返回结果

s + 2

-------------

s^2 + 2 s + 5

5.变形 1/[s(s-1)2]=1/s3-2s2+s

确定分子分母多项式为

Ns=1

Ds=s3-2s2+s

>> Ns=[1]; 构造分子多项式行向量

>> Ds=[1,-2,1,0]; 构造分母多项式行向量

>> sys5=tf(Ns,Ds) 构建sys对象

Transfer function: 该语句结束返回结果

1

---------------

s^3 - 2 s^2 + s

实验总结:

由于系统信号的表示形式的多样化,用输入输出法描述系统时系统函数方式和极零点方式可以相互转化。实验是可以根据要求灵活运用。

课题三

题目说明:

用数字系统处理实际应用中的连续时间信号,首先必须将连续信号转化为采样定理

离散信号,即信号的取样。

原理分析:

奈奎斯特取样定理给出了不是真取样条件,取样频率必须大于信号最高频率的2倍。

理想的信号是无穷长,计算机只能处理有限长度数据。所以要确定采样区间。

实验内容:

对信号Sa(10πt)以时间间隔TS为0.5,0.2,0.01进行取样,对取样序列进行DFT并画出其幅度谱观察三个不同。

MATLAB程序:

>> T=input('取样时间间隔T=');

Fn=10; %奈奎斯特频率

Fs=Fn; %实际取样频率

%在-10~10区间对信号进行取样

Nc=10/T;

for n=-Nc:1:Nc;

nT(n+Nc+1)=T*n;

f(n+Nc+1)=(sin(10*pi*nT(n+Nc+1))+eps)/(10*pi*nT(n+Nc+1)+eps);

end

%用取样信号对其他时间点上的数值进行插值重建

step=0.05; %插值重建步长

t=-4:step:4; %插值重建区间

for N=1:length(t);

for n=1:length(nT);

ff(n)=f(n)*(sin(10*pi*Fs*(t(N)-nT(n))+eps)/(10*pi*Fs*(t(N)-nT(n))+eps));

end

fa(N)=sum(ff); %内插公式

end

y=(sin(10*pi*t)+eps)./(10*pi*t+eps); %原信号

plot(t,fa,t,y);grid on; %画出原信号和插值后的信号

hold on;

plot(nT,f,'*'); %标出插值点

axis([-4,4,-0.4,1]);

error=max(abs(fa-y)); %显示插值重建最的最大误差

hold off

>> 取样时间间隔T=0.2

10.80.60.40.20-0.2-0.4-4-3-2-101234

>> 取样时间间隔T=0.5

10.80.60.40.20-0.2-0.4-4-3-2-101234

>> 取样时间间隔T=0.01

10.80.60.40.20-0.2-0.4-4-3-2-101234

实验总结:

从实验结果可以看出,采样频率较高时更接近实际信号。在理论上采样频率越高,信号波形拟合越接近实际波形,但实际上,采样频率高达一定值后随着采样频率增加,在计算机上显示出的图形会因点的部分重合变得不清晰。所以依据不同的信号取时间间隔(频率)适度为好。


本文标签: 信号 调制 系统 频率 函数