我是靠谱客的博主 无聊大树,最近开发中收集的这篇文章主要介绍基于MATLAB的模拟调制信号与解调的仿真——SSB,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       实现模拟调制信号与解调的仿真是我的MATLAB课程设计的一部分,我参考了网上的一些资料,并加入了一些自己的想法,代码已在本地MATLAB编译通过且能正常运行

       SSB——单边带调制

fm=10;fc=40;
am=sqrt(2);
Fs=300;     %采样频率Fs,载波频率fc,信号频率fm
wc=2*pi*fc;
wm=fm*2*pi;
N=300;
n=0:N-1;
t=n/Fs;             %时间序列
f=n*Fs/N;

%基带信号时域
sm=am*cos(wm*t);
figure(1);
subplot(211);
plot(t,sm);
title('基带信号');
xlabel('t');
axis([0 1 -2 2]);
grid on

%基带信号频域
S=fft(sm,300);%300点的fft
SG=abs(S);
subplot(212);
plot(f(1:N/2),SG(1:N/2));      %SSB信号频域波形
xlabel('Frequency(HZ)');
title('基带信号频域波形 ');
grid on;

%SSB调制信号时域
s=modulate(sm,fc,Fs,'amssb');       %对调制信号进行调制
S=fft(s,300);
SG=abs(S);
figure(2);
subplot(211);
plot(t,s);                          %SSB信号时域波形
title('SSB信号时域波形 ');        
xlabel('t');

subplot(212);
plot(f(1:N/2),SG(1:N/2));            %SSB信号频域波形
xlabel('Frequency(HZ)');
title('SSB信号频域波形 ');
grid on;

%-------------------------------------------------------------------------
%解调
fm=10;%信号频率fm
fc=40;%载波频率fc
am=sqrt(2);
Fs=300;     %采样频率Fs
wc=2*pi*fc;
wm=fm*2*pi;
N=300;
n=0:N-1;
t=n/Fs;      %时间序列
f=n*Fs/N;
sm=am*cos(wm*t);
s=modulate(sm,fc,Fs,'amssb');  
sd=demod(s,fc,Fs,'amssb');         %对SSB信号进行解调
SD=fft(sd,300);
SDG=abs(SD);
figure(3);
subplot(2,1,1);
plot(t,sd);                              %解调后的时域波形
title('解调后的时域波形');
xlabel('t');
axis([0 1 -2 2]);
subplot(2,1,2);
plot(f(1:N/2),SDG(1:N/2));             %解调后的频域波形
title('解调后的频域波形');
xlabel('Frequency(HZ)');
axis([0 150 0 300]);
grid on;

 

最后

以上就是无聊大树为你收集整理的基于MATLAB的模拟调制信号与解调的仿真——SSB的全部内容,希望文章能够帮你解决基于MATLAB的模拟调制信号与解调的仿真——SSB所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部