MATLAB/Simulink 通信原理及仿真学习
Posted 汤姆和佩琦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB/Simulink 通信原理及仿真学习相关的知识,希望对你有一定的参考价值。
文章目录
MATLAB/Simulink 通信原理及仿真学习(三)
3. 通信信号与系统分析
- 数字通信的研究包括数字形式的信息从产生该信息的信源到一个或多个目的地的传输问题。
3.1 离散信号和系统
- 信号是信息的物理表现形式或说是传递信息的函数,系统定义为处理(或变换)信号的物理设备。
3.1.1 离散信号
一个信号
x
(
t
)
x(t)
x(t)可以是连续时间信号(模拟信号),也可以是离散时间信号(数字信号)。若
x
(
t
)
x(t)
x(t)是离散信号,则
t
t
t仅在时间轴的离散点上取值,这时,应将
x
(
t
)
x(t)
x(t)该记为
x
(
n
T
s
)
x(nT_s)
x(nTs),
T
s
T_s
Ts表示相邻两个点之间的时间间隔,又称抽样周期,
n
n
n取整数,即
x
(
n
T
s
)
,
n
=
−
N
1
,
⋯
,
0
,
1
,
⋯
,
N
2
\\beginequation x(nT_s),n=-N_1,\\cdots,0,1,\\cdots,N_2 \\tag3-1 \\endequation
x(nTs),n=−N1,⋯,0,1,⋯,N2(3-1)
式中, N 1 , N 2 N_1,N_2 N1,N2是 n n n的取值范围。一般可以把 T s T_s Ts归一化为1,则 x ( n T s ) x(nT_s) x(nTs)可简记为 x ( n ) x(n) x(n)。
(一直没写MATLAB,差点忘了,注释的符号是 %)
- 例一
% x=cos(2t),抽样序列为0<=t<=2*pi,抽样周期T_s=0.1.
t=0:0.1:2*pi;
x=cos(2*t);
stem(t,x);
输出结果:
1)信号的相加或相乘
x
(
n
)
=
x
1
(
n
)
+
x
2
(
n
)
y
(
n
)
=
x
1
(
n
)
x
2
(
n
)
\\begincases x(n) = x_1(n)+x_2(n)\\\\ y(n) = x_1(n)x_2(n) \\endcases
x(n)=x1(n)+x2(n)y(n)=x1(n)x2(n)
- 例二
% 信号x1(n)=sin(2*pi*0.1n)和x2(n)=exp(-0.1*n),
% 在0<=n<=40的相加和相乘序列
clear all;
n=1:40;
x1=sin(2*pi*0.1*n);
x2=exp(-0.1*n);
x=x1+x2;
y=x1.*x2;
subplot(4,1,1);stem(n,x1);title('x1');
subplot(4,1,2);stem(n,x2);title('x2');
subplot(4,1,3);stem(n,x);title('x');
subplot(4,1,4);stem(n,y);title('y');
输出结果:
2)卷积和
y
(
n
)
=
∑
m
=
−
∞
∞
x
(
m
)
h
(
n
−
m
)
=
x
(
n
)
∗
h
(
n
)
(3-3)
y(n)=\\sum\\limits_m=-\\infin^\\infinx(m)h(n-m)=x(n)*h(n)\\tag3-3
y(n)=m=−∞∑∞x(m)h(n−m)=x(n)∗h(n)(3-3)
- 例三
% h(n)=exp(-0.1*n),x(n)=exp(-0.2*n),0<=n<=40的卷积和
clear all;
n=0:40;
h=exp(-0.1*n);
x=exp(-0.2*n);
y=conv(x,h);
subplot(3,1,1);stem(h);title('h');
subplot(3,1,2);stem(x);title('x');
subplot(3,1,3);stem(y);title('y');
输出结果:
3.1.2 离散时间信号
- 离散时间系统可抽象为一种变换或一种映射,输入序列 x ( n ) x(n) x(n)变换为输出序列 y ( n ) y(n) y(n),即
y
(
n
)
=
T
[
x
(
n
)
]
(3-4)
y(n)=T[x(n)]\\tag3-4
y(n)=T[x(n)](3-4)
式中,
T
T
T代表变换。
离散时间系统:
- 例四
一个离散时间系统的输入和输出关系为:
y ( n ) = a y ( n − 1 ) + x ( n ) (3-5) y(n)=ay(n-1)+x(n)\\tag3-5 y(n)=ay(n−1)+x(n)(3-5)
式中,a为常数。该系统表示,现在时刻的输入 y ( n ) y(n) y(n)等于上一次的输出 y ( n − 1 ) y(n-1) y(n−1)乘以常数a再加上现在的输入 x ( n ) x(n) x(n),这是一个一阶的自回归差分方程,若
( 1 ) x ( n ) = 1 , n = 0 0 , n ≠ 0 ( 2 ) x ( n ) = e x p ( − 0.1 n ) , 0 ≤ n ≤ 40 0 , 其他 (1) \\quad x(n)= \\begincases 1,n=0 \\\\ 0,n\\neq0 \\endcases\\\\ (2)\\quad x(n)= \\begincases exp(-0.1n),& 0 \\le n \\le 40\\\\ 0, & \\text其他 \\endcases (1)x(n)=1,n=00,n=0(2)x(n)=exp(−0.1n),0,0≤n≤40其他
且 a = 0.8 , y ( n ) = 0 , n < 0 , y ( 0 ) = x ( 0 ) a=0.8,y(n)=0,n<0,y(0)=x(0) a=0.8,y(n)=0,n<0,y(0)=x(0),是分别求上述系统在所给输入下的响应。
clear all
N=60;%序列长度
% 设置x1和x2
x1=zeros(1,N);
x1(1)=1;
x2=zeros(1,N);
x2(1:41)=exp(-0.1*(0:40));
% 初始状态设置
y1(1)=x1(1);
y2(1)=x2(1);
% 求取y(n)
for n=2:N
y1(n)=0.8*y1(n-1)+x1(n);
y2(n)=0.8*y2(n-1)+x2(n);
end
% 绘图
subplot(4,1,1);stem(x1);title('x1');
subplot(4,1,2);stem(x2);title('x2');
subplot(4,1,3);stem(y1);title('y1');
subplot(4,1,4);stem(y2);title('y2');
输出结果
- 例五
一个离散时间系统的输入/输出关系为 以上是关于MATLAB/Simulink 通信原理及仿真学习的主要内容,如果未能解决你的问题,请参考以下文章 matlab simulink基于BPPID控制的机械臂位置仿真 matlab simulink基于模糊PID控制的机械臂位置仿真
y
(
n
)
=
∑
k
=
0
M