您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页MATLAB实现通信系统仿真实例

MATLAB实现通信系统仿真实例

来源:化拓教育网


补充内容:模拟调制系统的MATLAB仿真

1.抽样定理

为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。

Nyquist抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。

抽样定理建立了模拟信号和离散信号之间的关系,在Matlab中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。

【例1】用图形表示DSB调制波形ycos(2t)cos(4t) 及其包络线。

clf

%%计算抽样时间间隔

fh=1;%%调制信号带宽(Hz)

fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。

ts=1/fs;

1

%%根据抽样时间间隔进行抽样,并计算出信号和包络

t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。

envelop=cos(2*pi*t);%%DSB信号包络

y=cos(2*pi*t).*cos(4*pi*t);%已调信号

%画出已调信号包络线

plot(t,envelop,'r:','LineWidth',3);

hold on

plot(t,-envelop,'r:','LineWidth',3);

%画出已调信号波形

plot(t,y,'b','LineWidth',3);

axis([0,pi/2,-1,1])%

hold off%

xlabel('t');

2

%写出图例

legend('包络','双边带已调信号')

1 包络0.8双边带已调信号0.60.40.20-0.2-0.4-0.6-0.8-1 00.511.5t 【例2】用图形表示DSB调制波形ycos(2t)cos(6t) 及其包络线。clf

%%计算抽样时间间隔

fh=1;%%调制信号带宽(Hz)

fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。

ts=1/fs;

%%根据抽样时间间隔进行抽样

t=(0:ts:pi/2);

3

envelop=cos(2*pi*t);%%DSB信号包络

y=cos(2*pi*t).*cos(6*pi*t);%已调信号

%画出已调信号包络线

plot(t,envelop,'r:','LineWidth',3);hold on

plot(t,-envelop,'r:','LineWidth',3);

%画出已调信号波形

plot(t,y,'b','LineWidth',3);

axis([0,pi/2,-1,1]);

hold off%%

10.80.60.40.20-0.2-0.4-0.6-0.8-100.511.5 注意观察:过零点“反相”现象。

4

2.信号的频谱和功率

傅立叶变换f(t)F(f)

【例3】画出DSB信号ycos(2t)cos(10t)的频谱并计算已调信号的功率。 clf

%%计算抽样时间间隔

fh=1;%%调制信号带宽(Hz)

fs=20*fh;

ts=1/fs;

%%根据抽样时间间隔进行抽样

t=(0:ts:2*pi);%抽样时间间隔要足够小,要满足抽样定理。

y=cos(2*pi*t).*cos(10*pi*t);%已调信号

%计算已调信号的傅立叶变化

n=2^nextpow2(length(t));%傅立叶变换的序列长度

5

spectrum=fft(y,n);

df=fs/n;%频率分辨率

f=[0:df:df*(length(spectrum)-1)]-fs/2;%FFT频率向量

%计算信号功率

p=(norm(y)^2)/length(y)

%画出已调信号频谱

plot(f,fftshift(abs(spectrum)),'b','LineWidth',3);

xlabel('frequency/Hz');title('Magnitude-spectrum of y'); p =

0.2520

25Magnitude-spectrum of y20151050-10-8-6-4-20246810frequency/Hz 6

3.AWGN的产生及功率谱密度

已知AWGN信道中噪声的比特信噪比为10dB,信号功率0.25W,求噪声功率并画出噪声的时域波形。

clf

%%计算抽样时间间隔

fh=1;%%调制信号带宽(Hz)

fs=40*fh;

ts=1/fs;

t=(0:ts:2*pi);%根据抽样间隔生成抽样时间

%生成AWGN噪声序列

snr=10;%信噪比10dB

snr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比

noise_power=p_DSB/snr_lin

7

noise_std=sqrt(noise_power);

noise=randn(1,length(y))*noise_std;

plot(t,noise,'LineWidth',2)

noise_power =

0.0250

0.40.30.20.10-0.1-0.2-0.3-0.401234567

4.DSB调制解调

10t)的频谱并计算基带信号【例4】画出基带信号m(t)cos(2t)和DSB信号ycos(2t)cos(和已调信号的功功率。

clf

%%计算抽样时间间隔

8

fh=1;%%调制信号带宽(Hz)

fs=40*fh;

ts=1/fs;

%%根据抽样时间间隔进行抽样

t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。

m=cos(2*pi*t);%基带信号

y=m.*cos(10*pi*t);%已调信号

%计算基带信号的傅立叶变换

n=2^nextpow2(length(t));%傅立叶变换的序列长度

spectrum_baseband=fft(m,n);

df=fs/n;%频率分辨率

f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量

%计算已调信号的频谱

9

n=2^nextpow2(length(t));%傅立叶变换的序列长度

spectrum_DSB=fft(y,n);

df=fs/n;%频率分辨率

f=[0:df:df*(length(spectrum_DSB)-1)]-fs/2;%FFT频率向量

%计算信号功率

p_baseband=(norm(m)^2)/length(m)

p_DSB=(norm(y)^2)/length(y)

%画出已调信号频谱

subplot(2,1,1);

plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);

xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');

subplot(2,1,2);

plot(f,fftshift(abs(spectrum_DSB)),'b','LineWidth',3);

10

xlabel('frequency/Hz');title('Magnitude-spectrum of DSB');

p_baseband =

0.5145

p_DSB =

0.2602

60Magnitude-spectrum of baseband40200-20-15-10-505101520frequency/Hz40Magnitude-spectrum of DSB3020100-20-15-10-505101520frequency/Hz 已知AWGN信道中噪声的比特信噪比为10dB,求噪声功率并绘出信道中传输的信号。clf

snr=10;%信噪比10dB

snr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比

noise_power=p_DSB/snr_lin;

11

noise_std=sqrt(noise_power);

noise=randn(1,length(y))*noise_std;

signal_in_channel=y+noise;

subplot(2,1,1);

plot(t,signal_in_channel,'b')

xlabel('t');ylabel('DSB signal plus noise');axis([0,pi,-1,1]);

subplot(2,1,2);

plot(t,y,'r');

xlabel('t');ylabel('DSB signal');

1esion 0.5sulp la0ngis B-0.5SD-100.511.522.53t1l0.5angis B0SD-0.5-100.511.522.533.5t 调制解调

5.AM

12

10t)的10t)以及载波s(t)cos(【例4】画出基带信号m(t)cos(2t)和AM信号y(cos(2t)1)cos(频谱并计算基带信号和已调信号的功率。并比较该AM信号与例题3中的DSB信号的时域波形。

clf

%%计算抽样时间间隔

fh=1;%%调制信号带宽(Hz)

fs=20*fh;

ts=1/fs;

%%根据抽样时间间隔进行抽样

t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。

m=cos(2*pi*t);

c=cos(10*pi*t);

y=(1+m).*c;%已调信号

%计算基带信号的傅立叶变换

13

n=2^nextpow2(length(t));%傅立叶变换的序列长度

spectrum_baseband=fft(m,n);

df=fs/n;%频率分辨率

f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量

%计算载波功率

n=2^nextpow2(length(t));%傅立叶变换的序列长度

spectrum_carrier=fft(c,n);

df=fs/n;%频率分辨率

f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量

%计算已调信号的频谱

n=2^nextpow2(length(t));%傅立叶变换的序列长度

spectrum_AM=fft(y,n);

df=fs/n;%频率分辨率

14

f=[0:df:df*(length(spectrum_AM)-1)]-fs/2;%FFT频率向量

%计算信号功率

p_baseband=(norm(m)^2)/length(m)

p_AM=(norm(y)^2)/length(y)

p_carrier=(norm(c)^2)/length(c)

%画出已调信号频谱

subplot(3,1,1);

plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);

xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');

subplot(3,1,2);

plot(f,fftshift(abs(spectrum_AM)),'b','LineWidth',3);

xlabel('frequency/Hz');title('Magnitude-spectrum of AM');

subplot(3,1,3);

15

plot(f,fftshift(abs(spectrum_carrier)),'b','LineWidth',3);

xlabel('frequency/Hz');title('Magnitude-spectrum of carrier');

p_baseband =

0.5168

p_AM =

0.8297

p_carrier =

0.5079

40Magnitude-spectrum of baseband200-10-8-6-4-20246810frequency/Hz40Magnitude-spectrum of AM200-10-8-6-4-20246810frequency/Hz40Magnitude-spectrum of carrier200-10-8-6-4-20246810frequency/Hz clf

DSB=m.*c;%DSB信号

16

envelop_DSB=m;%包络

envelop_AM=1+m;

subplot(2,1,1);

plot(t,DSB,'b')

hold on

plot(t,envelop_DSB,'r:');

plot(t,-envelop_DSB,'r:');

hold off

xlabel('t');

ylabel('DSB signal');

subplot(2,1,2);

plot(t,y,'b');

hold on;

17

plot(t,envelop_AM,'r:');

plot(t,-envelop_AM,'r:');

hold off

xlabel('t');

ylabel('AM signal');

1l0.5angis B0SD-0.5-100.511.522.533.5t21langis 0MA-1-200.511.522.533.5t 18

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务