
代码如下
% 清空环境变量
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(

最低0.47元/天 解锁文章
2140

被折叠的 条评论
为什么被折叠?



