利用matlab编写m文件完成2FSK/2ASK仿真
时间: 2023-12-29 19:05:38 浏览: 71
基于Matlab的2ASK,2FSK,2PSK,4PSK系统的调制解调的基本仿真实现
好的,以下是一个简单的MATLAB代码实现2FSK和2ASK的仿真:
```matlab
% 2FSK/2ASK仿真
clear all;
close all;
clc;
% 信号参数设置
f1 = 10; % 信号频率1
f2 = 20; % 信号频率2
A = 1; % 信号幅度
fs = 100; % 采样率
T = 1/fs; % 采样时间间隔
t = 0:T:1-T; % 时间序列
% 调制参数设置
fc = 50; % 载波频率
kf = 5; % 频偏系数,用于2FSK调制
Am = 2; % 调制指数,用于2ASK调制
% 信号生成
s1 = A*sin(2*pi*f1*t); % 信号1
s2 = A*sin(2*pi*f2*t); % 信号2
% 2FSK调制
s2fsk = A*sin(2*pi*fc*t + 2*pi*kf*s1); % 用s1调制
s4fsk = A*sin(2*pi*fc*t + 2*pi*kf*s2); % 用s2调制
% 2ASK调制
s2ask = (A + Am*s1).*sin(2*pi*fc*t); % 用s1调制
s4ask = (A + Am*s2).*sin(2*pi*fc*t); % 用s2调制
% 绘制调制后的信号图像
figure;
subplot(2,2,1);
plot(t,s2fsk);
title('2FSK调制,用s1调制');
xlabel('时间(s)');
ylabel('幅度');
subplot(2,2,2);
plot(t,s4fsk);
title('2FSK调制,用s2调制');
xlabel('时间(s)');
ylabel('幅度');
subplot(2,2,3);
plot(t,s2ask);
title('2ASK调制,用s1调制');
xlabel('时间(s)');
ylabel('幅度');
subplot(2,2,4);
plot(t,s4ask);
title('2ASK调制,用s2调制');
xlabel('时间(s)');
ylabel('幅度');
```
代码注释中已经解释了每个步骤的含义。您可以根据需要修改参数来进行仿真。
阅读全文