脉冲幅度调制信号的功率谱计算

       本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记

       通信领域笔记(1)---《脉冲幅度调制信号的功率谱计算》

脉冲幅度调制信号的功率谱计算

目录

1、背景分析

2、PAM理论推导

3、仿真过程设计

4、仿真及结果分析

5、实验小结 

6、Matlab程序代码


1、背景分析


2、PAM理论推导


3、仿真过程设计


4、仿真及结果分析

 

 


5、小结 


6、Matlab程序代码

close all
clear
% 定义调制参数
Fs = 4000; % 采样率
fc = 100; % 载波频率
baud = 20; % 符号速率
t = 0:1/Fs:1; % 时间向量
N = length(t); % 采样点数% 生成随机二进制序列
bits = randi([0 1],1,(N-1)/baud);% 将二进制序列转换为符号序列
symbols = 2*bits-1;
% symbols = bits;
% 生成PAM调制信号
pam_signal = zeros(1,N);
for i=1:length(bits)pam_signal((i-1)*baud+1:i*baud) = symbols(i);
end% 生成载波信号
carrier = abs(sin(2*pi*fc*t));% 将PAM调制信号与载波信号相乘
modulated_signal = pam_signal.*carrier;% window=boxcar(length(pam_signal));
nfft=1024;
% [Pxx,f]=periodogram(pam_signal,window,nfft,Fs); %直接法
% f(length(f)+1,:)=-f;
% Pxx(-length(Pxx):0)=Pxx;
% figure
% plot(f,10*log10(Pxx));window=boxcar(100); %矩形窗
window1=hamming(100); %海明窗
window2=blackman(100); %blackman窗
noverlap=20; %数据无重叠
[Pxx,f]=pwelch(pam_signal,window1,noverlap,nfft,Fs,'centered','power');
plot_Pxx=10*log10(Pxx);[Pxx1,f1]=pwelch(modulated_signal,window1,noverlap,nfft,Fs,'centered','power');
plot_Pxx1=10*log10(Pxx1);%绘制PAM调制信号和调制后信号的时域波形
figure
subplot(2,2,1);
plot(t,pam_signal);
title('PAM调制信号');
xlabel('时间(秒)');
ylabel('幅值');
subplot(2,2,3);
plot(t,modulated_signal);
title('调制后信号');
xlabel('时间(秒)');
ylabel('幅值');subplot(2,2,2);
plot(f,plot_Pxx);
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')subplot(2,2,4);
plot(f1,plot_Pxx1);
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')%通过fft获得功率谱
G_s = abs(fft(pam_signal)).^2/Fs;%矩形脉冲
plot_G_s=10*log10(G_s);
%这三步的目的是将功率谱中心搬到0频点,画双边谱
x = plot_G_s(Fs/2:Fs);
plot_G_s(Fs/2:Fs)=plot_G_s(1:Fs/2+1);
plot_G_s(1:Fs/2+1)=x;G_s2 = abs(fft(modulated_signal)).^2/Fs;%半波正弦
plot_G_s2=10*log10(G_s2);
x2 = plot_G_s2(Fs/2:Fs);
plot_G_s2(Fs/2:Fs)=plot_G_s2(1:Fs/2+1);
plot_G_s2(1:Fs/2+1)=x2;F = -Fs/2:0.1:Fs/2;
G_s3 = 200./(pi.*F).^2.*sin(pi.*F./200).^2;
plot_G_s3=10*log10(G_s3);
G_s4 = 200/(4*pi^2).*cos(pi.*F./200).^2./(1/4-(F./200).^2).^2;
plot_G_s4=10*log10(G_s4);figure
subplot(2,1,1);
plot(-Fs/2:1:Fs/2,plot_G_s);
title('pam signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')
subplot(2,1,2);
plot(-Fs/2:1:Fs/2,plot_G_s2);
title('modulated signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)')
figure
subplot(2,1,1);
plot(F,plot_G_s3)
title('pam signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)');
subplot(2,1,2);
plot(F,plot_G_s4)
title('modulated signal');
xlabel('Frequency(Hz)');
ylabel('PSD(dB/Hz)');
% c = abs(fft(carrier));
% a = abs(fft(modulated_signal));
% b = abs(fft(pam_signal));
% figure
% plot(0:1:Fs,c);
% figure
% plot(0:1:Fs,b);
% figure
% plot(0:1:Fs,a);

     文章若有不当和不正确之处,还望理解与指出。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请联系博主删除。如有错误、疑问和侵权,欢迎评论留言联系作者,或者关注VX公众号:Rain21321,联系作者。

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

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

相关文章

风口下的危与机:如何抓住生成式AI黄金发展期?

回顾AI的发展历程,我们见证过几次重大突破,比如2012年ImageNet大赛的图像识别,2016年AlphaGo与李世石的围棋对决,这些进展都为AI的普及应用铺设了道路。而ChatGPT的出现,真正让AI作为一个通用的产品,走入大…

Linux | 创建 | 删除 | 查看 | 基本命名详解

Linux | 创建 | 删除 | 查看 | 基本命名详解 文章目录 Linux | 创建 | 删除 | 查看 | 基本命名详解前言一、安装Linux1.1 方法一:云服务器方式1.2 方法二:虚拟机方式 二、ls2.2 ll 三、which3.1 ls -ld 四、pwd五、cd5.1 cd .\.5.2 ls -al5.3 重新认识命…

程序员兼职需要收藏的防坑技巧

不管你是刚刚上车的新职员,还是职场经营多年的老手,在零散时间,通过兼职搞一点零花钱,充实一下自己的生活,这是在正常不过的事情,但是很多同学害怕兼职有风险,被骗或者说找不到门路,…

优思学院|质量工程师在汽车行业待遇好吗?

优思学院认为质量工程师在汽车行业的待遇有可能相对较好的。随着中国汽车品牌在国内市场的崛起,特别是在电动汽车领域的增长,质量工程师在保障产品质量和安全性方面变得非常重要。由于中国汽车制造商对产品质量的高度重视,质量工程师在制定和…

AC自动机(简单模板)

AC自动机,就相当于是在字典树上用kmp。next数组回退的位置为最大匹配字符串在字典树上的节点位置。 在获取字典树上的next数组的时候用的是BFS每次相当与处理的一层。 下图中红线为,可以回退的位置,没有红线的节点回退的位置都是虚拟原点。…

基于C#实现线段树

一、线段树 线段树又称"区间树”,在每个节点上保存一个区间,当然区间的划分采用折半的思想,叶子节点只保存一个值,也叫单元节点,所以最终的构造就是一个平衡的二叉树,拥有 CURD 的 O(lgN)的时间。 从…

关于同一接口有多个不同实现的设计方案

关于同一接口有多个不同实现的设计方案 前言 最近公司做了一个银行相关的项目,告诉我公司对接了多个银行的支付,每个银行都有对应的接口要去对接,比如:交易申请,交易取消,支付,回单&#xff0…

rabbitMQ发布确认-交换机不存在或者无法抵达队列的缓存处理

rabbitMQ在发送消息时,会出现交换机不存在(交换机名字写错等消息),这种情况如何会退给生产者重新处理?【交换机层】 生产者发送消息时,消息未送达到指定的队列,如何消息回退? 核心&…

麒麟KYSEC使用方法05-命令设置密码强度

原文链接:麒麟KYSEC使用方法05-命令设置密码强度 hello,大家好啊,今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第五篇内容----使用命令设置密码强度,密码强度策略有两个文件需要修改,pwquality.conf/login.defs&…

命令执行总结

之前做了一大堆的题目 都没有进行总结 现在来总结一下命令执行 我遇到的内容 这里我打算按照过滤进行总结 依据我做过的题目 过滤system 下面是一些常见的命令执行内容 system() passthru() exec() shell_exec() popen() proc_open() pcntl_exec() 反引号 同shell_exec() …

大语言模型概述(三):基于亚马逊云科技的研究分析与实践

上期介绍了基于亚马逊云科技的大语言模型相关研究方向,以及大语言模型的训练和构建优化。本期将介绍大语言模型训练在亚马逊云科技上的最佳实践。 大语言模型训练在亚马逊云科技上的最佳实践 本章节内容,将重点关注大语言模型在亚马逊云科技上的最佳训…

解决Chrome浏览器无法启动,因为应用程序的并行配置不正确

目录 现象 方法1 方法2 附带:书签路径 一次比较奇怪的问题,花了一些时间,记录下来。 现象 进到本机默认安装路径: C:\Users\你的用户名\AppData\Local\Google\Chrome\Application 下面会有个版本号的目录,如我的…

快手ConnectionError

因为运行的程序被中断导致 top然后查看站用处内存高的accelerate kill进程号 9回车

linux基础5:linux进程1(冯诺依曼体系结构+os管理+进程状态1)

冯诺依曼体系结构os管理 一.冯诺依曼体系结构:1.简单介绍(准备一)2.场景:1.程序的运行:2.登录qq发送消息: 3.为什么需要内存:1.简单的引入:2.计算机存储体系:3.内存的意义…

微服务知识小结

1. SOA、分布式、微服务之间有什么关系和区别? 1.分布式架构指将单体架构中的各个部分拆分,然后部署到不同的机器或进程中去,SOA和微服务基本上都是分布式架构的 2. SOA是一种面向服务的架构,系统的所有服务都注册在总线上&#…

让工作效率提升10倍:十大AIGC工具评测【建议收藏】

AI技术的普及已经在近年来不断增长。这种技术已经改变了我们与电脑的互动方式,让我们能够更高效、更自然地完成任务。本文将展示10个基于ChatGPT、GPT-3.5和 GPT-4.0 AI模型构建的最强大的资源,使您更容易充分利用它们的潜力。因此,如果您想利…

详解深度学习中的图神经网络GNN

引言 图神经网络GNN是深度学习的一个分支。 深度学习的四个分支对应了四种常见的数据格式,前馈神经网络FNN处理表格数据,表格数据可以是特征向量,卷积神经网络CNN处理图像数据,循环神经网络RNN处理时序数据,图神经网…

c++|类和对象(上)

目录 一、面向过程和面向对象初步认识 二、类的引入和定义 2.1类的引入 2.2类的定义 三、类的访问限定符及封装 3.1访问限定符 3.2封装 四、类的作用域 五、类的实例化 六、类的对象大小的计算 6.1如何计算对象的大小 6.2类对象的存储方式 七、类成员函数的thi…

Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解

01-综述 可以使用Python内置的logging模块来实现Django项目的日志记录。 所以与其说这篇文章在讲Django的“日志功能-日志模块-日志输出”,不如说是在讲Pthon的“日志功能-日志模块-日志输出”,即Python的logging模块。 下面用一个实例来进行讲解。 …

2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)

中国是世界上最大的苹果生产国,年产量约为 3500 万吨。同时,中国也是世界上最大的苹果出口国,世界上每两个苹果中就有一个出口到国。世界上每两个苹果中就有一个来自中国,中国出口的苹果占全球出口量的六分之一以上。来自中国。中…