【本科生通信原理】【实验报告】【北京航空航天大学】实验二: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,一经查实,立即删除!

相关文章

C++ arpa/inet.h

头文件 <arpa/inet.h> 主要包含了一些用于IPv4和IPv6地址转换的函数&#xff0c;以及与网络字节序相关的函数。以下是其中一些主要的函数&#xff1a; 地址转换函数&#xff1a; inet_addr: 将点分十进制的IPv4地址转换为网络字节序的32位整数。inet_aton: 将点分十进制的…

深入理解可变参数

目录 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…

【实用代码片段】从原图像到目标图像的颜色迁移

代码 def color_transfer(sc, dc):"""Transfer color distribution from of sc, referred to dc.Args:sc (numpy.ndarray): input image to be transfered.dc (numpy.ndarray): reference image Returns:numpy.ndarray: Transferred color distribution on the…

23级第一次测试总结

前天进行了第一次测试&#xff0c;一共10道题只写出来6道题&#xff0c;题目本身难度不大&#xff0c;基本没什么算法&#xff0c;除了最后两道题目考察了双指针&#xff08;滑动窗口&#xff09;和深度搜索&#xff0c;但也仅仅只写出来了6道&#xff0c;还是太菜了 对于题目…

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

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

Day21- 回溯算法part01

一、组合 题目一&#xff1a;77. 组合 77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 combine 函数初始化结果变量和当前组合变量&#xff0c;然后调用 backtrack 函数来生成所有组合。backtrack 函数…

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

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

【2023年度总结】蜕变与挑战

2023年是意义重大的一年&#xff0c;这一年里&#xff0c;我从大三到了大四&#xff0c;焦虑满满&#xff0c;参加比赛&#xff0c;拿到保研名额&#xff0c;体验实习&#xff0c;之前很少在年末对自己的一年进行回顾和总结。 一月 阳了&#xff0c;寒假期间就窝在家里&#…

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

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

C#编程-描述内存分配

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

API 安全设计的建议

1、使用 HTTPS 现在的 Web 已经不是之前那个年代&#xff0c;标准的 HTTP 满足不了 Web 安全需求。而各大浏览器供应商开始标记不使用安全层的 URL&#xff0c;你的 API 也可以考虑开始动手做这件事——用 HTTPS。HTTPS 采用传输层安全性协议&#xff08;TLS&#xff09;对传输…

kubernetes(二)创建集群

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

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

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

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

openlayer 轨迹动画(方式一)使用ol-ext

ol-ext官方示例地址&#xff1a;ol-ext 示例代码 实测可用 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>点沿线动画</title><!-- Openlayers -->…

使用pnnx将Torch模型转换为ncnn

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

Linux端口转发的几种常用方法

1. SSH 端口转发 SSH 提供了一个非常有意思的功能&#xff0c;就是端口转发&#xff0c;它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发&#xff0c;并且自动提供了相应的加密及解密服务。 (1) 本地端口转发 ssh -fgN -L 2222:localhost:22 localhost (2) 远程端口转…

java查询结果的处理

java查询结果的处理 为了方便使用sql的数据&#xff0c;在查询后mysql会把数据封装到java里面的resultset对象&#xff0c;然后我们需要把resultset里的数据再封装到我们自己创建的对象中&#xff0c;比如Student对象&#xff1a; public class Student {int number;String n…

超快速排序

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