目录

  • 1.DSB的调制原理
  • 2.DSB的解调原理
  • 3. DSB调制解调的代码
  • 4.DSB调制解调结果图
  • 5.DSB的优缺点

1.DSB的调制原理

DSB和AM相差一个直流量,因此其调制原理如下图所示,基带信号m(t)和高频载波相乘实现DSB信号的调制。

2.DSB的解调原理

DSB的解调原理如下图所示,DSB信号经过信道传输之后,再和载波相乘,然后经过低通滤波后恢复出原始基带信号。

3. DSB调制解调的代码

DSB.m文件,主文件

% DSB调制解调过程
%% 基本参数
clear all;                  % 清除变量
close all;                  % 关闭所有窗口图像
fm = 100;                   % 基带信号频率
T = 2;                      % 信号时长
fs = 20000;                 % 采样频率 奈奎斯特采样定理为最大频率的两倍,这里取20倍为了绘制更多的细节,让时域信号更平滑
dt=1/fs;                    % 时间采样间隔,采样频率的倒数
N=T/dt;                     % 采样点个数,总时长除以采样间隔
t=[0:N-1]*dt;               % 采样点的时间序列,作为横坐标%% ******************调制信号时域波形******************
Am=1;                       % 基带信号幅度
mt=Am*cos(2*pi*fm*t);       % 基带信号
figure(1);                  % 绘制第一幅图
subplot(221);               % 窗口分割,将一幅图分割成2*2的
plot(t,mt,'Linewidth',2);   % 时间t为横坐标,基带信号mt为纵坐标绘图,线宽为2
xlabel('t/时间');           % 横坐标标注
ylabel('幅度');             % 纵坐标标注
title('基带信号');          % 图标题标注
axis([0,0.1,-1.1,1.1]);     % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2%% ******************调制信号频域波形******************
subplot(222);
[mf,msf]=T2F(t,mt);         % 傅里叶变换,得到纵坐标频谱和横坐标频率
plot(mf,abs(msf),'Linewidth',2);    % 画出基带信号频谱,线宽为2
title('基带信号的频谱');            % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-150 150 -inf inf]);          % 横纵坐标范围设置%% ******************载波信号时域波形******************
subplot(223);
fc=1000;                            % 载波频率
zaibo=cos(2*pi*fc*t);               % 载波时域信号
plot(t,zaibo,'r','Linewidth',2);    % 时间t为横坐标,载波信号zaibo为纵坐标绘图,线宽为2,红色
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
title('载波信号');                  % 图标题标注
axis([0,0.01,-1.1,1.1]);            % 横纵坐标范围设置
line([0,0.01],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.01,0)的蓝色实线,线宽为2%% ******************载波信号频域波形******************
subplot(224);
[mf1,msf1]=T2F(t,zaibo);            % 傅里叶变换,得到纵坐标频谱和横坐标频率
plot(mf1,abs(msf1),'r','Linewidth',2);  % 载波信号频谱,线宽为2,红色
title('载波信号的频谱');            % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-1200 1200 -inf inf]);        % 横纵坐标范围设置%% ******************DSB波信号时域波形******************
dsb=mt.*zaibo;                      % 画出DSB信号波形
SNR=5;                              %信噪比为  dB
dsb=awgn(dsb,SNR,'measured');
figure(2);                          % 绘制第二幅图
subplot(211);                       % 窗口分割,将一幅图分割成2*1的
plot(t,dsb,'Linewidth',2);          % 画出AM信号波形,线宽为2
title('DSB调制信号');               % 图标题标注
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0,0.02,-3.1,3.1]);            % 横纵坐标范围设置
line([0,0.02],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.02,0)的蓝色实线,线宽为2%% ******************DSB波信号频域波形******************
[mf2,msf2]=T2F(t,dsb);              % 傅里叶变换,得到纵坐标频谱和横坐标频率
subplot(212);
plot(mf2,abs(msf2),'Linewidth',2);  % 画出DSB信号频谱
title('DSB波信号的频谱');           % 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-1500 1500 -inf inf]);        % 横纵坐标范围设置%% ******************相干解调******************
%% ******************已调信号与载波信号相乘******************
st=dsb.*zaibo;                      % 已调信号与载波信号相乘
figure(3);                          % 绘制第三幅图
subplot(211);                       % 窗口分割,将一幅图分割成2*1的
plot(t,st,'Linewidth',2);           % 时间t为横坐标,相乘信号st为纵坐标绘图,线宽为2
title('已调信号与载波信号相乘');    % 图标题标注
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0 0.02 -2 2]);                % 横纵坐标范围设置
line([0,0.02],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.02,0)的蓝色实线,线宽为2%% ******************已调信号与载波信号相乘的频谱******************
[f,sf]=T2F(t,st);                   % 傅里叶变换,得到纵坐标频谱和横坐标频率
subplot(212);                       % 窗口分割,将一幅图分割成2*1的
plot(f,sf,'Linewidth',2);           % 绘制相乘信号st的频谱,线宽为2
title('已调信号与载波信号相乘的频谱');% 图标题标注
xlabel('f/Hz');                     % 横坐标标注
ylabel('幅度/H(f)');                % 纵坐标标注
axis([-2200 2200 -inf inf]);        % 横纵坐标范围设置%% ******************解调出来的信号******************
[t,st]=lpf(f,sf,2*fm);              % 频域低通滤波
figure(4);                          % 绘制第三幅图
subplot(211);                       % 窗口分割,将一幅图分割成2*1的
plot(t,2*st,'Linewidth',2);           % 绘制解调波形
title('经过低通滤波的相干解调信号波形');% 图标题标注
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0 0.1 -1.1 1.1]);             % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2%% ******************原信号******************
subplot(212);
plot(t,mt,'r-','Linewidth',2);      % 绘制原始基带信号
title('原始基带信号');              % 图标题标注
xlabel('t/时间');                   % 横坐标标注
ylabel('幅度');                     % 纵坐标标注
axis([0 0.1 -1.1 1.1]);             % 横纵坐标范围设置
line([0,0.1],[0,0],'color','b','Linewidth',2);% 绘制一条从(0,0)到(0.1,0)的蓝色实线,线宽为2

T2F.m文件,FFT功能

function [f,sf]= T2F(t,st)      % FFT
% dt = t(2)-t(1);
T=t(end);                       % 输入信号的时间最大值为T
df = 1/T;                       % dt=1/fs; 时间采样间隔,采样频率的倒数;% N=T/dt;  采样点个数,总时长除以采样间隔% 两式联合推导 df = 1/T
N = length(st);                 % 输入信号时间的长度为采样点数
f=-N/2*df : df : N/2 * df-df;   % 频率分布
sf = fft(st);                   % 做FFT
sf = T/N * fftshift(sf);        % 最后输出,将0-fs频谱搬移到-fs/2-fs/2频谱

F2T.m文件,IFFT功能

function[t,st]=F2T(f,Sf)        % IFFT
df=f(2)-f(1);                   % 频率间隔
fmax=(f(end)-f(1)+df);          % 最大频率减最低频率加上频率间隔为带宽
dt=1/fmax;                      % 采样间隔
N=length(f);                    % 采样点数
t=[0:N-1] * dt;                 % 时间分布
Sf=fftshift(Sf);                % 将0-fs频谱搬移到-fs/2-fs/2频谱
st=fmax * ifft(Sf);             % 做IFFT
st=real(st);                    % 取实部

lpf.m文件,低通滤波功能

function[t,st]=lpf(f,sf,B)          % 频率LPF
df=f(2)-f(1);                       % 频率间隔
fN=length(f);                       % 采样点数
ym=zeros(1,fN);                     % 生成1行fN列的0向量
xm=floor(B/df);                     % 低频带宽频率除以间隔后的点数向下取整
xm_shift=[-xm:xm-1]+floor(fN/2);    % 因为前面做FFT将0频率搬移到中心处,% 因此,低通低频频率相应地搬移fN/2,才是对应的频率点
ym(xm_shift)=1;                     % 低通通过频率处幅度为1,其余为0,相当于理想低通
yf=ym.* sf;                         % FFT信号的频谱和对应低频带宽处频率值为1的行向量相乘
[t,st]=F2T(f,yf);                   % IFFT

注意:这四个文件要放在同一文件夹中,第一个是主文件,另外三个是函数文件

4.DSB调制解调结果图

结果图中DSB信号是经过信道,加了高斯白噪声的。
如果不想加噪声,把下面这行代码注释即可。

dsb=awgn(dsb,SNR,'measured');




5.DSB的优缺点

优点:实现简单,功率利用率高;
缺点:双边带上下边带频谱频谱结构相同,频谱利用率低。

通信原理与MATLAB(二):DSB的调制解调相关推荐

  1. 通信原理与MATLAB(一):AM的调制解调

    目录 1.AM的调制原理 2.AM的解调原理 3. AM调制解调的代码 4.AM调制解调结果图 5.AM的优缺点 1.AM的调制原理 AM的调制原理如下图所示,基带信号m(t)和直流量A0相加,然后和 ...

  2. 通信原理与MATLAB(五):FM的调制解调

    目录 1.FM的调制原理 2.FM的解调原理 3.FM调制解调的代码 4.FM调制解调结果图 5.优缺点 1.FM的调制原理 FM是频率调制,是用基带信号控制载波的频率,其实现原理如下图所示,基带信号 ...

  3. 通信原理与MATLAB(九):DPSK的调制解调

    目录 1.差分编解码原理 1.1差分编码原理 1.2差分解码原理 2.DPSK的调制原理 3.DPSK的相干解调原理 4.DPSK的代码(相干解调) 5.结果图(相干解调) 6.DPSK的差分解调原理 ...

  4. 通信原理与MATLAB(十):QPSK的调制解调

    目录 1.QPSK的调制原理 2.QPSK的解调原理 3.QPSK代码 4.结果图 5.特点 1.QPSK的调制原理 QPSK调制原理如下图所示,QPSK相当于两个正交的BPSK相加而成.其调制原理是 ...

  5. 通信原理与MATLAB(十一):QAM的调制解调

    目录 1.QAM的调制原理 2.QAM的解调原理 3.QAM代码 4.结果图 5.特点 1.QAM的调制原理 QAM调制原理如下图所示,基带码元波形经过串并转换分成I.Q两路,然后再经过电平转换(00 ...

  6. 通信原理 简易QPSK AB方法的调制解调及星座图的matlab实现

    QPSK调制解调方框图如下所示 A方式 框图如下所示: A方式代码如下所示 clc clearNm = 100;%100个码元 snrdB = 20;%信噪比20dB Ts = 2;%原始码元间隔 N ...

  7. 通信原理实践(二)——幅度调制

    一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...

  8. 通信使用matlab三元码实验报告,Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验...

    Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验 Matlab 仿真 DSB-SC 信号与双极性不归零码通信原理实验报告二实验题目:Matlab 仿真 DSB-SC 信号与双极性不 ...

  9. 【通信原理】实验二 角度调制实验

    目录 实验二 角度调制实验 一.实验目的 二.实验原理: 1.角度调制 (1)角度调制 (1)频率调制(FM): (2)相位调制(PM) (3)单音调制FM与PM (4)非相干解调 2.MATLAB中 ...

最新文章

  1. iMeta期刊12名编委入选科睿唯安2021年度高被引学者
  2. http://www.huihoo.com/ 灰狐网站 Linux 专业网站
  3. ERP项目中一个表应该有哪些默认字段
  4. 如何将django部署从顶级目录迁移到子目录下(NGINX UWSGI DJANGO)
  5. HCNA(012-211) 试题解析
  6. 八、Flume的构架,安装和基本使用
  7. Code First02---CodeFirst配置实体与数据库映射的两种方式
  8. [css] box-sizing常用的属性有哪些?分别有什么作用?
  9. 谈谈软件的开发及成长历程
  10. data 谷歌浏览器更改user 路径_安卓微信 7.0.13.2开启众测邀请,数据存储路径迁移...
  11. 掘金小册8折优惠:掌握这些技术,轻松拿offer
  12. 未来教育软件计算机二级不能评分怎么办,为什么计算机二级软件打不开
  13. 【投稿提醒】2023年数字信号处理前沿国际会议(CFDSP 2023)
  14. 昆仑通态触摸屏保存历史曲线_昆仑通态TPC7062存盘时间计算
  15. 赛迪报告:除了“会呼吸”的肺,这些也能用3D打印实现!
  16. Verilog之闪烁灯
  17. 武汉体育学院计算机设计大赛,2017年(第10届)中国大学生计算机设计大赛中南地区赛作品评审结果公告.PDF...
  18. php 微信小程序签到打卡,微信小程序实现打卡日历功能
  19. girlfriend 生气心情不好怎么解决?
  20. 搭配安卓手机领夹式麦克风的PD快充方案来了LDR6023C 分享给大家

热门文章

  1. html ui组件,UI组件
  2. 揭秘IBM架构设计方法论 —— Solution Design I
  3. C++入门学习:引用和常引用
  4. 解决Bean with name ‘XX‘ has been injected into other beans 问题
  5. selenium模拟登陆教务系统
  6. 华为手机设置页面黑色_华为手机简单设置一下,来电直接显示对方照片视频,个性又炫酷...
  7. 《Real-Time Rendering 4th Edition》全文翻译 - 第15章 非真实感渲染(下)15.3 ~ 15.5
  8. 植物大战僵尸用户存档修改(CSDN任务1,20210418)
  9. 大家来学VIM(一个历久弥新的编辑器)
  10. boost circular_buffer