连续信号离散信号的功率谱密度--用MATLAB求功率谱密度

news/2024/5/10 6:28:00/文章来源:https://blog.csdn.net/m0_66360845/article/details/137112667

连续信号&离散信号的功率谱密度--用MATLAB求功率谱密度

目录

前言

一、能量及功率定义

1、连续信号

2、离散信号

二、功率谱密度计算公式

三、MATLAB仿真

1、源代码

2、仿真结果分析

总结


前言

        一直对数字信号处理中的功率谱密度计算有点好奇,虽然MATLAB有提供现成的计算功率谱密度的计算函数,但还是想不通过调用函数,就单纯的通过FFT变换利用所谓的周期图法,去计算信号的功率谱密度,于是就有了下文。


提示:以下是本篇文章正文内容,希望能帮助到各位,转载请附上链接。

一、能量及功率定义

1、连续信号

        连续信号x(t)的能量定义为:

E=\int_{-\infty }^{+\infty}x^2(t)dt

        功率定义为:

P=\lim_{t \to\infty }\frac{1}{2T}\int_{-T}^{T}x^2(t)dt

2、离散信号

        序列x(n)的能量定义为:

E=\sum_{n=-\infty}^{\infty}|x(n)|^{2}=\sum_{n=-\infty}^{\infty}x(n)x^{*}(n)

         功率定义为:

P=\lim\limits_{K\to\infty}\frac{1}{2K+1}\sum\limits_{n=-K}^{K}\left | x(n) \right |^2

        按照定义,对于离散信号,在固定的时间内,采样频率增加,采样点数增加,能量是会增加。

        无意中看到的新观点,采样频率增加会导致能量增加。感觉怪怪的,但又与公式吻合,分享给大家。

二、功率谱密度计算公式

        用于功率谱密度估计的公式有如下:

1)连续时间信号: 

S_{xx}(f)=\lim_{T\to\infty}\frac{|\mathcal{F}\{x_w(t)\}|^2}T;

2)离散时间信号:

S_{xx}(f)=\lim_{N\to\infty}\frac1{Nf_s}|\mathrm{DFT}\{x(n)\}|^2

        对于离散时间信号求功率谱密度,为什么要除以采样频率Fs,要用离散信号去推,比较复杂,本人不搞谱估计,就不细推了,大家可以参考下面几篇文章。

功率谱密度为什么等于fft的平方除N再除以fs? - 知乎

功率谱密度(Power Spectrum Density, PSD)的公式推导与谱密度估计 - 知乎

使用 FFT 获得功率频谱密度估计- MATLAB & Simulink- MathWorks 中国

三、MATLAB仿真

1、源代码

clear ; clc; close all;randn('state',0);                    % 随机数初始化
Fs = 1000;                           % 采样频率
t = 0:1/Fs:1-1/Fs;                   % 时间刻度
f1=50; f2=120;                       % 两个正弦分量频率
x=cos(2*pi*f1*t)+3*cos(2*pi*f2*t)+randn(size(t)); % 信号
% 使用FFT
N = length(x);                       % x长度
xdft = fft(x);                       % FFT
xdft = xdft(1:N/2+1);                % 取正频率
psdx = (1/(Fs*N)) * abs(xdft).^2;    % 计算功率谱密度
psdx(2:end-1) = 2*psdx(2:end-1);     % 乘2(2:end-1)
freq = 0:Fs/length(x):Fs/2;          % 频率刻度
subplot 211
plot(freq,10*log10(psdx))        % 取对数作图
grid on; xlim([0 Fs/2]);
title('用FFT的周期图')
xlabel('频率/Hz')
ylabel('功率谱密度/(dB/Hz)')
% 调用periodogram函数
[Pxx,f]=periodogram(x,rectwin(length(x)),N,Fs); 
subplot 212
plot(freq,10*log10(Pxx));        % 取对数作图
grid on; xlim([0 Fs/2]);
title('调用periodogram函数的周期图')
xlabel('频率/Hz')
ylabel('功率谱密度/(dB/Hz)')
mxerr = max(psdx'-Pxx)               % 求两种方法的最大差值
set(gcf,'color','w'); P = Fs/N * (sum(psdx) - 0.5*(psdx(1) + psdx(end))) %梯形法积分

其中用到函数 [Pxx,f] = periodogram(x,rectwin(length(x)),N,Fs);

括号里面的参数依次为:序列,矩形窗,FFT长度,采样频率。

2、仿真结果分析

        可见,利用FFT计算的功率谱和调用函数计算功率谱是一样的结果。也可见,50Hz和120Hz处功率谱密度的值明显远大于其他频率处的值。

        那个P是我用梯形法积分求的功率,和我设置的信号的功率大致对得上,功率谱估计嘛,肯定会有误差的。

        f1=50; f2=120;                       % 两个正弦分量频率

        x=cos(2*pi*f1*t)+3*cos(2*pi*f2*t)+randn(size(t)); % 信号

        功率:\frac{1^2}{2}+\frac{3^2}{2}+1=6

        5.9123\approx 6

最后,给读者提一个小问题,功率谱和功率谱密度是同一个东西吗???


总结

        以上就是今天要讲的内容,本文介绍了如何用MATLAB去估计数字信号的功率谱密度,希望对大家有所帮助。

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

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

相关文章

提升K8S故障排除效率:详解Pod内抓包的高效策略!

在Kubernetes环境中,故障排除是管理者日常工作中不可或缺的一部分。随着容器化应用的广泛采用,需要一种高效的方法来诊断和解决Pod内部的问题。本文将重点介绍如何利用抓包技术提升Kubernetes环境中Pod内部故障排除的效率。 为什么需要Pod内抓包 在Kube…

零售商品计划新篇章:智能管理系统的挑战与机遇

在零售企业管理中,商品计划管理在零售企业运营中占据核心地位。面对日益激烈的市场竞争和消费者需求的多样化,零售企业在商品计划管理方面面临着诸多挑战和需求。以下针对这些挑战和需求的分析,以及对一套智能商品计划管理系统应具备的功能和…

高效运维|AIRIOT智慧电力运维解决方案

可再生能源的引入带来了能源生产的去中心化和分散化趋势,同时也带来了能源输出的波动性和不确定性。电力运维因此需要更加灵活、智能的解决方案,以适应可再生能源的集成,确保电力系统的稳定运行,传统的电力运维管理方式往往存在如…

Vite 为什么比 Webpack 快?

目录 1. Webpack 的构建原理 2. Script 的模块化(主流浏览器对 ES Modules 的支持) 3. Webpack vs Vite 开发模式的差异 对 ES Modules 的支持 底层语言的差异 热更新的处理 1. Webpack 的构建原理 前端之所以需要类似于 Webpack 这样的构建工具&…

【教学类-40-09】A4骰子纸模制作9.0(3.47CM嵌套骰子 一条8格便于对折,表格相连 一页3个 油墨打印A4铅画纸)

作品展示 背景需求: 骰子调整到第8版,把骰子图案作成一长条,便于切割裁剪。 【教学类-40-08】A4骰子纸模制作8.0(2.97CM嵌套骰子表格相连 一页7个 油墨打印A4铅画纸)-CSDN博客文章浏览阅读929次,点赞20次…

如何解决绩效考核中“手松手紧”的问题

遇到的问题: l 评价时不同领导评分标准宽严程度不一,主观影响大 “严父”型领导,评分标准较高,严格评分,导致得分偏低。 “慈母”型领导,评分标准较低,评分宽松,导致得分偏高。…

区块链dapp开发 dapp系统开发方案

在区块链技术的兴起和普及的推动下,去中心化应用程序(DApp)成为了当前数字世界中的热门话题之一。DApp 的开发不仅需要考虑技术方面的挑战,还需要深入了解区块链的工作原理和应用场景。本文将介绍一种 DApp 系统开发的基本方案&am…

PHP开发全新29网课交单平台源码修复全开源版本,支持聚合登陆易支付

这是一套最新版本的PHP开发的网课交单平台源代码,已进行全开源修复,支持聚合登录和易支付功能。 项目 地 址 : runruncode.com/php/19721.html 以下是对该套代码的主要更新和修复: 1. 移除了论文编辑功能。 2. 移除了强国接码…

Github 2024-03-28Go开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目9非开发语言项目1Ollama: 本地大型语言模型设置与运行 创建周期:248 天开发语言:Go协议类型:MIT LicenseStar数量:42421 个Fork数量:…

Ubuntu18.04 下Ublox F9P 实现RTK (利用CORS服务无需自建基站)

本内容参考如下连接:Ubuntu下Ublox F9P利用CORS服务无需自建基站实现RTK-CSDN博客 一、Ublox F9P 硬件模块示意图 图中展示了Ublox F9P的接口,包括串口2(`UART1`和`UART2`),USB1。需要人为通过u-center(Ublox F9P的显示软件)软件设置以下功能: Ublox通过`UART1`向PC端发送…

Web Components使用(一)

在使用Web Components之前,我们先看看上一篇文章Web Components简介,其中提到了相关的接口、属性和方法。 正是这些接口、属性和方法才实现了Web Components的主要技术:Custom elements(自定义元素)、Shadow DOM&#…

百度智能云推出AI大模型全家桶;抖音发布 AI 生成虚拟人物治理公告

百度智能云推出大模型全家桶 百度智能云昨日在北京首钢园召开「Al Cloud Day: 大模型应用产品发布会」,此次发布会上,百度智能云宣布对以下 7 款产品进行升级。 数字人平台百度智能云曦灵智能客服平台百度智能云客悦内容创作平台「一念」知识智平台「甄…

GPT:多轮对话并搭建简单的聊天机器人

1 多轮对话 多轮对话能力至关重要,它不仅能深化交流,精准捕捉对方意图,还能促进有效沟通,增强理解。在智能客服、教育辅导等领域,多轮对话更是提升服务质量、增强用户体验的关键。 注意:大模型没有多轮对话…

Linux 安装部署高性能缓存服务redis

Linux 系统安装Redis 5 注意事项: 下载Redis 文件包,并上传至linux服务上解压 tar -zxvf redis.tar安装: 编译 make PREFIX/usr/local/redis install配置: redis.conf daemonize yes bind 127.0.0.1 192.168.1.221 supervised…

进阶了解C++(6)——二叉树OJ题

Leetcode.606.根据二叉树创建字符串: 606. 根据二叉树创建字符串 - 力扣(LeetCode) 难度不大,根据题目的描述,首先对二叉树进行一次前序遍历,即: class Solution { public:string tree2str(Tr…

使用ai智能写作场景之gpt整理资料,如何ai智能写作整理资料

Ai智能写作助手:Ai智能整理资料小助手 Ai智能整理资料小助手可试用3天! 通俗的解释一下怎么用ChatGPT来进行资料整理: 搜寻并获取指定数量的特定领域文章: 想像你在和我说话一样,告诉我你想要多少篇关于某个话题的文…

HarmonyOS模拟器调试

1 、设置 -> 系统设置 -> 关于手机 快速点击 5 次 HarmonyOS 版本开启开发者模式。 2 、设置 -> 系统和更新 -> 开发人员选项 到开发人员选项后往下拉有 USB 调试 ,把 USB 调试开关打开。 源自:HarmonyOS HarmonyOS Next 仿小米商城App入门…

【FedCoin: A Peer-to-Peer Payment System for Federated Learning】

在这篇论文中,我们提出了FedCoin,一个基于区块链的点对点支付系统,专为联邦学习设计,以实现基于Shapley值的实际利润分配。在FedCoin系统中,区块链共识实体负责计算SV,并且新的区块是基于“Shapley证明”&a…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之九 简单闪烁效果 一、简单介绍 二、简单闪烁效果实现原理 三、简单闪烁效果案例实现简单步骤 四、注意事项 一、简单…

DevSecOps平台架构系列-微软云Azure DevSecOps平台架构

目录 一、概述 二、Azure DevOps和黄金管道 2.1 概述 2.2 Azure DevOps架构说明 2.2.1 架构及管道流程图 2.2.2 架构内容 2.2.2.1 Azure Boards 2.2.2.2 Azure Repos 2.2.2.3 Azure Test Plans 2.2.2.4 Azure Pipelines 2.2.2.5 Azure Application Insights 2.2.2.6…