matlab求出在给定信号的单边功率谱密度函数下,各种不同带宽

 代码如下

% 清空环境变量
clear;
clc;

% 定义频率范围
f = linspace(0,2000000, 10000000);  % 频率范围 [995kHz, 1005kHz]

% 定义功率谱密度函数 G_x(f)
G_x = @(f) 1e-4 * (sin(pi*(f - 1e6)*1e-4) ./ (pi*(f - 1e6)*1e-4)).^2;

% 计算 G_x(f) 对应的值
Gf = G_x(f);

% 绘制功率谱密度函数 (PSD)
figure;
plot(f, Gf, 'LineWidth', 2);
grid on;
title('功率谱密度函数 G_x(f)');
xlabel('频率 (Hz)');
ylabel('功率谱密度 G_x(f)');
ylim([0, 1.5e-4]);  % 设定 y 轴范围
xlim([0 2.010e6]);  % 设定 x 轴范围

% (a) 计算 3dB 带宽
halfPowerLevel = max(Gf) / 2;  % 3dB 对应最大值的一半
f_3dB = f(Gf >= halfPowerLevel);  % 查找 G_x(f) 大于 3dB 点的频率范围
BW_3dB = f_3dB(end) - f_3dB(1);  % 计算 3dB 带宽

% (b) 等效噪声带宽
NEB = trapz(f, Gf) / max(Gf);  % 使用积分计算等效噪声带宽

% (c) 谱零点带宽
f_zero = f(Gf <= 1e-10);  % 查找接近零点的频率
BW_zero = f_zero(end) - f_zero(1);  % 计算谱零点带宽

% (d) 99% 功率带宽
total_power = trapz(f, Gf);  % 总功率(面积)
cumulative_power = cumtrapz(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值