matlab画图,频率谱密度图

本文详细指导如何在MATLAB中生成和分析幅度调制(AM)和双边带抑制载波(DSB-SC)信号的功率谱密度,包括基带信号和解调信号的时域/频域图的绘制,以及使用pwelch和fft函数进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要在 MATLAB 中绘制幅度调制(AM)和双边带抑制载波(DSB-SC)的功率谱密度(PSD)图,以及基带信号和解调信号的时域和频域图,可以按照以下步骤操作:

  1. 生成基带信号:选择一个简单的信号,如正弦波。
  2. 生成载波信号:用于调制的高频正弦波。
  3. 生成 AM 和 DSB-SC 信号:使用基带信号和载波信号。
  4. 解调信号:恢复原始基带信号。
  5. 计算并绘制功率谱密度:使用 MATLAB 的 pwelch 函数。
  6. 绘制时域和频域图:使用 fft 函数计算频域表示。

相关matlab代码:

% 参数设置
Fs = 1000;           % 采样频率
t = 0:1/Fs:1;        % 时间向量
fc = 100;            % 载波频率
fm = 5;              % 消息信号频率

% 基带信号(消息信号)
mt = cos(2*pi*fm*t); 

% 载波信号
ct = cos(2*pi*fc*t);

% AM 调制
AM = (1 + mt) .* ct;

% DSB-SC 调制
DSBSC = mt .* ct;

% 解调 AM 信号
demod_AM = AM .* ct;
[b, a] = butter(4, 0.1);   % 低通滤波器
demod_AM = filtfilt(b, a, demod_AM);

% 计算功率谱密度
pwelch(AM,[],[],[],Fs);
title('AM Signal PSD');

figure;
pwelch(DSBSC,[],[],[],Fs);
title('DSB-SC Signal PSD');

% 计算频域
Mf = abs(fftshift(fft(mt)));
f = (-Fs/2:Fs/length(t):Fs/2 - Fs/length(t));

% 绘制基带信号的时域和频域图
figure;
subplot(2,1,1);
plot(t, mt);
title('Baseband Signal in Time Domain');
xlabel('Time (s)');
ylabel('Amplitude');

subplot(2,1,2);
plot(f, Mf);
title('Baseband Signal in Frequency Domain');
xlabel('Frequency (Hz)');
ylabel('Magnitude');

% 绘制解调 AM 信号的时域和频域图
demod_AM_Freq = abs(fftshift(fft(demod_AM)));
figure;
subplot(2,1,1);
plot(t, demod_AM);
title('Demodulated AM Signal in Time Domain');
xlabel('Time (s)');
ylabel('Amplitude');

subplot(2,1,2);
plot(f, demod_AM_Freq);
title('Demodulated AM Signal in Frequency Domain');
xlabel('Frequency (Hz)');
ylabel('Magnitude');

仿真结果:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值