matlab仿真 对一个频率调制解调系统进行建模仿真。仿真的系统参数 为:载波频率f_ {c}=100Hz,最大频偏= 10Hz,被调基带信号为正弦波,其频率为5Hz,振幅为0.5V。调频输出信号幅度为1V。传输信道是高斯 白噪声信道,信噪比为10dB。仿真步进为0.001秒(即系统采样率为 1000Hz) 参数如何设置
时间: 2024-02-19 17:02:14 浏览: 118
首先,需要定义调制解调系统的数学模型。我们可以将系统分为两部分:调制器和解调器。
调制器的输入为被调基带信号,输出为调制后的信号。在这个例子中,我们使用频率调制,因此调制器的输出信号可以表示为:
s(t) = Ac * cos(2 * pi * fc * t + 2 * pi * delta_f * integral(sin(2 * pi * fm * t) dt))
其中,Ac为调制后信号的幅度,fc为载波频率,delta_f为最大频偏,fm为被调基带信号的频率。
解调器的输入为调制后的信号,输出为被调基带信号。在这个例子中,我们使用相干解调,因此解调器的输出信号可以表示为:
m(t) = (2 / Ac) * cos(2 * pi * fm * t + theta)
其中,theta为调制信号的相位,可以通过解调信号和载波信号的相位差计算得到。
接下来,我们可以使用MATLAB来进行仿真。可以按照以下步骤设置仿真参数:
1. 定义时间范围和步长:
t = 0:0.001:5; % 时间范围为0到5秒,步长为0.001秒
2. 定义信号参数:
Ac = 1; % 调制后信号的幅度
fc = 100; % 载波频率为100Hz
delta_f = 10; % 最大频偏为10Hz
fm = 5; % 被调基带信号频率为5Hz
m = 0.5; % 被调基带信号振幅为0.5V
3. 生成被调基带信号:
m_signal = m * sin(2 * pi * fm * t);
4. 生成调制后信号:
s_signal = Ac * cos(2 * pi * fc * t + 2 * pi * delta_f * cumsum(m_signal));
5. 添加高斯白噪声:
SNR = 10; % 信噪比为10dB
noise = randn(size(s_signal));
noise = noise / norm(noise) * norm(s_signal) / (10^(SNR/20));
s_signal_noise = s_signal + noise;
6. 解调信号:
theta = 0; % 初始相位为0
c_signal = cos(2 * pi * fc * t + theta);
m_signal_demod = 2 / Ac * s_signal_noise .* c_signal;
m_signal_demod_filtered = lowpass(m_signal_demod, 2 * fm, 1000);
7. 绘制图形:
subplot(2,1,1);
plot(t, s_signal_noise, 'b');
hold on;
plot(t, c_signal, 'r');
xlabel('时间(秒)');
ylabel('幅度(V)');
legend('调制后信号', '载波信号');
title('调制后信号和载波信号');
subplot(2,1,2);
plot(t, m_signal, 'b');
hold on;
plot(t, m_signal_demod_filtered, 'r');
xlabel('时间(秒)');
ylabel('幅度(V)');
legend('原始信号', '解调后信号');
title('解调后信号');
通过以上步骤,我们就可以得到一个频率调制解调系统的MATLAB仿真模型,并且可以通过修改参数来进行不同情况下的仿真。
阅读全文