【本科生通信原理】【实验报告】【北京航空航天大学】实验二:AM、DSB调制/解调

一、实验目的

在这里插入图片描述

二、实验内容

在这里插入图片描述

三、实验程序

1、

function q1()                                                                                           
N = 1024;  %采样点数
A = 2;  %直流分量
t0 = 5;  %信号时长
dt = t0 / N;  %时间分辨率
fs = 1 / dt;  %系统采样频率
df = 0.001;  %频率分辨率
t = 0 : dt : t0 - dt;
m = cos(2 * pi * t);  %调制信号
c = cos(20 * pi * t);  %载波
fc = 10;  %载波频率
u = (A + m) .* c;  %已调信号
noise_power = 0.1;  %噪声功率
noise_std = sqrt(noise_power);  %噪声标准差
noise = noise_std * randn(1, N);sam = u + noise;  %叠加了噪声的已调信号
[M, m, df1, f] = T2F(m, dt, df, fs);  %求调制信号频谱
[Bw_eq] = signalband(M, df);  %求信号等效带宽
[U, u, df1, f] = T2F(u, dt, df, fs);  %求已调信号频谱figure(1);  %画AM已调信号的时域波形
plot(t, u(1 : length(t)));
xlabel('t');
ylabel('sam(t)');
title('AM已调信号的时域波形');
grid on;figure(2);  %画AM已调信号的频谱
plot(f, abs(fftshift(U)));
xlabel('f'); 
ylabel('|SAM|');
title('AM已调信号的频谱');
grid on;sp = sam .* c; % 与载波相乘后的信号
[spf, sp, df1, f] = T2F(sp, dt, df, fs); %sp的频谱
[LPF, f] = lp_f(length(sp), Bw_eq, df1, fs, 2);DM = LPF .* spf; % 理想低通滤波器输出的频谱[dm] = F2T(DM, fs);  % 滤波器的输出波形
figure;
plot(t, dm(1 : N));dmd = dm(1 : N) -  mean(dm(1 : N));figure;
plot(t, dmd);
xlabel('t');
ylabel('m\^(t)');
title('相干解调后的波形');
grid on;

2、

function q2()
N = 1024;  % 采样点数
% length(t)
t0 = 5;  % 信号持续时间
dt = t0 / N;  %时间分辨率
fs = 1 / dt;  % 系统采样频率
df = 0.001;  % 频率分辨率
t = 0 : dt : t0 - dt;  % 时间向量
m = sqrt(2) * cos(2 * pi * t);  % 调制信号c = cos(20 * pi * t);  %载波
sdsb = m .* c;  %DSB已调信号
[M, m, df1, f] = T2F(m, dt, df, fs);  %求调制信号频谱
[Bw_eq] = signalband(M, df);  % 调制信号等效带宽
%-------进入信道
noise_power = 0.1;  % 噪声功率
noise_std = sqrt(noise_power);  % 噪声标准差
noise = noise_std * randn(1, N);  % 高斯白噪声
sn = sdsb + noise;  % 叠加了噪声的已调信号figure;  % 画DSB已调信号的时域波形
plot(t, sdsb);
xlabel('t/s');
ylabel('sdsb(t)');
title('DSB已调信号的时域波形');
grid on;Y = fft(sdsb, N);  % 有限长信号sdsb的傅里叶变换
Pyy = abs(Y) .^ 2 / N;  %傅里叶变换模平方的均值
f = 1 / dt * (0 : (N - 1) / 2) / N;  %频率轴figure;  % 画已调信号的功率谱密度
plot(f, Pyy(1 : N / 2));
xlabel('f/Hz');
ylabel('P(f)');
title('DSB已调信号的功率谱密度');
grid on;sp = sn .* c;
[spf, sp, df1, f] = T2F(sp, dt, df, fs); %sp的频谱为spf
[LPF, f] = lp_f(length(sp), Bw_eq, df1, fs, 2);DM = LPF .* spf; % 理想低通滤波器输出的频谱[dm] = F2T(DM, fs);  % 滤波器的输出波形
figure;
plot(t, dm(1 : N));
xlabel('t');
ylabel('m\^(t)');
title('相干解调后的信号波形');
grid on;

四、实验结果

1、
(1)、AM已调信号的时域波形:
在这里插入图片描述

(2)、AM已调信号的频谱:
在这里插入图片描述

(3)、相干解调后的波形:
在这里插入图片描述

2、
(1)、DSB已调信号的时域波形图:
在这里插入图片描述

(2)、DSB已调信号的功率谱密度:
在这里插入图片描述

(3)、相干解调后的波形:
在这里插入图片描述

五、实验分析

AM调制和DSB调制的区别与联系:
标准调幅是常规双边带调制,简称调幅(AM)。AM信号的时域表达式为:
s_AM (t)=[A_0+m(t)]cosω_c t.
在AM信号中,载波分量并不携带信息,信息完全由边带传送。
双边带信号(DSB)的时域表达式为:
s_DSB (t)=m(t)cosω_c t.

AM信号和DSB信号的带宽都是基带信号带宽f_H的2倍。即
B_AM= B_DSB=2f_H
相比于AM,DSB调制可以节省载波功率:
AM信号的频谱:
S_AM (ω)= πA_0 [δ(ω+ ω_C )+ δ(ω- ω_C )+ 1/2[M(ω+ ω_C )+ M(ω- ω_C )]
DSB信号的频谱:
S_DSB (ω)=1/2[M(ω+ ω_C )+ M(ω- ω_C )]

AM解调和DSB相干解调过程类似,实质都是频谱搬移。解调是调制的反过程,即把在载频位置上的已调信号的频谱搬回到原始基带位置,因此同样可以用相乘器与载波相乘来实现。

注意:AM信号的解调结果中含有直流成分A_0,这时在解调后再加上一个简单隔直流电容即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解可变参数

目录 1.C语言方式 1.1.宏介绍 1.2.原理详解 1.3.案例分析 1.4.其他实例 2.C之std::initializer_list 2.1.简介 2.2.原理详解 2.3.案例分析 3.C之可变参数模版 3.1.简介 3.2.可变参数个数 3.3.递归包展开 3.4.逗号表达式展开 3.5.Lambda 捕获 3.6.转发参数包 4…

2023 IoTDB Summit:清华大学软件学院长聘副教授龙明盛《IoTDB 新组件:内生机器学习》...

12 月 3 日,2023 IoTDB 用户大会在北京成功举行,收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题,多位学术泰斗、企业代表、开发者,深度分享了工业物联网时序数据库 IoTDB 的技术创新…

中国区县绿地曝光率数据,shp+excel格式,区县精度

基本信息. 数据名称: 中国区县绿地曝光率数据 数据格式: shpexcel 数据精度:区县 数据几何类型: —— 数据坐标系: WGS84坐标系 数据来源:网络公开数据 字段列表: 序号字段名称字段说明1xzqhdm_3区县代码2xzqhmc_3区县名称4xzqhm…

web网站,可当期末作业,随机一言,天气,时钟,音乐等综合网站

文章目录 主页面时间胶囊底部条文心一言音乐播放器天气时钟禁用右键其他每次刷新页面会随机更换壁纸新春版 主页面 时间胶囊 底部条 文心一言 点击可随机变化文心一言 音乐播放器 天气时钟 禁用右键 其他 每次刷新页面会随机更换壁纸 新春版

C#编程-描述内存分配

描述内存分配 分配给变量的内存通过两种方式引用:值类型和引用类型。内置数据类型,诸如int、char和float都是值雷兴国。当您声明int变量时,编译器会分配一个内存块以保持该整数值。请思考以下语句: int Num 50;上述语句为保存值…

kubernetes(二)创建集群

kubernetes(一)概述与架构 云原生实战 语雀 官网 Kubernetes 文档 | Kubernetes 更新:移除 Dockershim 的常见问题 | Kubernetes B站课程:https://www.bilibili.com/video/BV13Q4y1C7hS/?p26 安装版本说明: 视频教程…

【nginx】linux(centos版本)安装nginx

目录 一、下载安装包1.1 官网下载1.2 linux命令下载 二、安装2.1 安装依赖包2.2 安装nginx 三、启动四、访问五、关停六、重载配置 一、下载安装包 1.1 官网下载 1.官网地址 https://nginx.org/en/download.html2.版本说明 1.Mainline version-主线版本 2.Stable version-稳…

LeetCode 2487. 从链表中移除节点:单调栈

【LetMeFly】2487.从链表中移除节点:单调栈 力扣题目链接:https://leetcode.cn/problems/remove-nodes-from-linked-list/ 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输…

聊一聊 .NET高级调试 内核模式堆泄露

一:背景 1. 讲故事 前几天有位朋友找到我,说他的机器内存在不断的上涨,但在任务管理器中查不出是哪个进程吃的内存,特别奇怪,截图如下: 在我的分析旅程中都是用户态模式的内存泄漏,像上图中的…

使用pnnx将Torch模型转换为ncnn

1. 引言 以往我们将Torch模型转换为ncnn模型,通常需经过Torch–>onnx,onnx–>ncnn两个过程。但经常会出现某些算子不支持的问题。 ncnn作者针对该问题,直接开发一个Torch直接转换ncnn模型的工具 (PNNX),以下为相关介绍及使…

超快速排序

title: 超快速排序 date: 2024-01-05 11:51:43 tags: 逆序对 categories: 算法进阶指南 题目大意 解题思路 逆序数是一个序列每一个数的左边有多少比他本身大的值。将一个序列排序完整,最小交换次数即是逆序数之和。使用归并排序的同时,将每一个逆序数求…

C#用StringBuilder高效处理字符串

目录 一、背景 二、使用StringBuilder便捷、高效地操作字符串 三、实例 1.源码 2.生成效果 四、实例中知识点 1.StringBuilder类 (1)构造函数 (2)属性 (3)方法 2.Environment.NewLine 属性 一、…

SurfaceView和TextureView理解相关

一、为什么要使用SurfaceView 我们知道View是通过刷新来重绘视图,系统通过发出VSSYNC信号来进行屏幕的重绘,刷新的时间间隔是16ms,如果我们可以在16ms以内将绘制工作完成,则没有任何问题,如果我们绘制过程逻辑很复杂,…

SSD 颗粒还要涨价50%,入手前小心速度陷阱

大伙应该感受到了,自今年年中开始 SSD 普遍开始了小幅涨价。 但即便涨价到现在,NAND 厂商仍属于倒亏状态... 原因很简单,库存太多。 根据 TrendForce 的报道,主要制造商价格将需要再次上涨 40% 以上才能不亏,而达到盈…

【ZYNQ入门】第五篇、AXI HP口读写数据原理

目录 第一部分、AXI总线的相关知识 1、ZYNQ架构 2、AXI 总线和 AXI 接口以及 AXI 协议 3、AXI 总线与 ZYNQ 的关系 4、AXI 总线介绍 5、AXI 接口介绍 6、AXI 协议介绍 7、AXI高效传输的原因 8、常见总线汇总 9、HP接口写时序配置 10、HP DDR的地址分配 11、缓存一…

如何缓解BOT攻击?分享灵活准确的防御之道

BOT流量在所有互联网流量中的占比过半,而且存在好坏之分。其中“好”的BOT,比如在互联网上搜索和查找内容的BOT,它们是我们不可或缺的帮手。恶意的BOT进行信息数据爬取、薅羊毛等攻击行为,正损害着企业和用户的利益。专业数据统计…

将文本文件导入Oracle数据库的简便方法:SQL Developer

需求 我有一个文本文件dbim.txt,是通过alert log生成的,内容如下: 2020-09-11 2020-09-11 ... 2023-12-03 2023-12-03 2023-12-26我已经在Oracle数据库中建立了目标表: create table dbim(a varchar(16));我想把日志文件导入Or…

若依管理系统部署

本文章仅供参考,由于个软件版本不同可能会有偏差。 登录系统打开cmd 编辑文件 这些文件分别打开,打开后在浏览器会出现若依管理系统后台,输入账号 admin 密码 123456即可进入后台。 本文章仅供参考,由于个软件版本不同可能会有…

Linux内存管理:(六)页交换算法

文章说明: Linux内核版本:5.0 架构:ARM64 参考资料及图片来源:《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址: zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 引言 在Linux操作系统中&#x…

synchronized锁的底层原理

synchronized 锁是 Java 中用于实现线程同步的关键字。它提供了一种简单而有效的方式来确保多个线程之间的互斥访问。底层原理可以通过 Java 的内存模型和对象监视器锁(Monitor Lock)来理解。 Monitor结构如下: 在 Java 的内存模型中&#x…