用 Matlab 产生一个频率为 1Hz、功率为1的余弦信源m (t),设载波频率为10 Hz,试画出: (1)用希尔伯特变换画出SSB 调制信号: (2)该调制信号的功率谱密度; (3)相干解调后的信号波形。
时间: 2024-12-23 10:14:47 浏览: 14
在MATLAB中生成一个频率为1Hz、功率为1的余弦信源m(t),我们可以先创建一个时间序列,然后对其进行线性调频(LFM)或模拟双边带调制(SSB)。这里我们假设m(t)是一个简单的正弦波,然后通过希尔伯特变换和相关操作来完成任务:
```matlab
% 设置参数
fs = 100; % 采样频率
T = 1; % 总时间长度 (秒)
t = 0:1/fs:T - 1/fs; % 时间向量
% 生成原始余弦信源(假设m(t)为cosine波)
m = cos(2*pi*1*t);
% 模拟载波频率为10 Hz的SSB信号(使用希尔伯特变换)
carrier_freq = 10;
ssb_signal = m .* cos(2*pi*carrier_freq*t); % SSB调制
% 希尔伯特变换
hilbert_transform = hilbert(ssb_signal);
% 计算功率谱密度 (PSD)
[psd, f] = pwelch(hilbert_transform, [], [], fs, 'power'); % 使用Welch's method估计PSD
figure;
plot(f, 10*log10(psd)); % 绘制PSD图
% 相干解调
demodulated_signal = real(ifft(hilbert_transform)); % 使用逆希尔伯特变换进行解调
% 绘制解调后的信号波形
figure;
plot(t, demodulated_signal);
xlabel('Time (s)');
ylabel('Amplitude');
title('Demodulated Signal');
%
阅读全文