signal = cos(2*pi*freq.*t);矩阵维度必须一致
时间: 2023-07-23 17:42:50 浏览: 177
利用MATLAB实现信号的幅度调制.doc
你是对的,我犯了一个错误。在生成2FSK数字调制信号的代码中,由于 `data` 是一个行向量,而 `freq` 是一个列向量,导致了 `freq` 和 `t` 的矩阵维度不一致。为了解决这个问题,我们可以使用 `transpose()` 函数将 `data` 转换为列向量,使得 `freq` 和 `t` 的维度一致。修改后的代码如下所示:
```matlab
% 生成2FSK数字调制信号
freq = data'*(fc2-fc1)+fc1; % 将数字信息映射到频率
signal = cos(2*pi*freq.*t);
% 绘制2FSK数字调制信号时域波形
figure;
plot(t, signal);
xlabel('Time(s)');
ylabel('Amplitude');
title('2FSK Modulated Signal in Time Domain');
```
这样,生成2FSK数字调制信号的代码就不会出现维度不一致的错误了。非常感谢你的指正,我会更加仔细地检查代码的正确性。
阅读全文