已知基带信号m(t)=sin(10πt)+sin(30πt),载波为c(t)=cos(2000πt),编写Matlab代码实现对AM调制信号的相干解调,并作出图形。
时间: 2023-08-09 18:05:27 浏览: 55
以下是Matlab代码实现对AM调制信号的相干解调并作图的过程:
```matlab
% 清空所有变量
clear all
% 设置时间范围和时间步长
t = 0:0.001:1;
% 基带信号
m = sin(10*pi*t) + sin(30*pi*t);
% 载波信号
fc = 2000;
c = cos(2*pi*fc*t);
% AM调制信号
s = (1 + m).*c;
% 信号解调
s_demod = s.*c;
% 设计低通滤波器
[b, a] = butter(6, fc*2*pi*0.2, 'low');
% 信号滤波
s_filtered = filter(b, a, s_demod);
% 绘制图形
subplot(3, 1, 1);
plot(t, m);
title('基带信号');
xlabel('时间/s');
ylabel('幅度');
subplot(3, 1, 2);
plot(t, s);
title('AM调制信号');
xlabel('时间/s');
ylabel('幅度');
subplot(3, 1, 3);
plot(t, s_filtered);
title('解调后信号');
xlabel('时间/s');
ylabel('幅度');
```
运行代码后,会得到绘制的三幅图形,分别是基带信号、AM调制信号和解调后的信号。其中,解调后的信号已经经过了低通滤波器滤波,可以看到它的频率范围已经被限制在了原始基带信号的频率范围内。
相关问题
已知基带信号m(t)=sin(10πt)+sin(30πt),载波为c(t)=cos(2000πt),请编写matlab 代码代码对基带进行进行AM调制
以下是对基带信号进行AM调制的Matlab代码:
```matlab
% 基带信号
t = 0:0.0001:0.1;
mt = sin(10*pi*t) + sin(30*pi*t);
% 载波信号
fc = 2000;
ct = cos(2*pi*fc*t);
% 调制指数
m = 1;
% AM调制
st = (1 + m*mt).*ct;
% 时域波形图
plot(t, st);
title('时域波形图');
xlabel('时间 (s)');
ylabel('幅度');
```
运行以上代码将会得到AM调制后的信号的时域波形图。
已知基带信号m(t)=sin(10πt)+sin(30πt),载波为c(t)=cos(2000πt),请用MAtlab代码编写不同调幅系数下AM信号的时域和频域图
下面是一份MATLAB代码,用于生成不同调幅系数下的AM信号时域和频域图:
```matlab
% 定义基带信号和载波信号
t = 0:0.0001:0.1; % 时间范围为0到100ms
mt = sin(10*pi*t) + sin(30*pi*t); % 基带信号
ct = cos(2000*pi*t); % 载波信号
% 定义调幅系数和AM信号
m = 1; % 调幅系数
amt = (1 + m*mt).*ct; % AM信号
% 绘制时域图
subplot(2,1,1); % 分割窗口,绘制时域图
plot(t, amt); % 绘制AM信号时域图
title('AM信号时域波形'); % 添加标题
xlabel('时间(s)'); % 添加x轴标签
ylabel('幅度'); % 添加y轴标签
% 绘制频域图
subplot(2,1,2); % 分割窗口,绘制频域图
L = length(amt); % AM信号长度
NFFT = 2^nextpow2(L); % 计算FFT点数
Y = fft(amt,NFFT)/L; % 计算FFT并归一化
f = 1/(2*0.0001)*linspace(0,1,NFFT/2+1); % 计算频率
plot(f,2*abs(Y(1:NFFT/2+1))); % 绘制振幅谱
title('AM信号频域波形'); % 添加标题
xlabel('频率(Hz)'); % 添加x轴标签
ylabel('振幅'); % 添加y轴标签
```
在这里,我们首先定义了基带信号m(t)和载波信号c(t),然后定义了调幅系数m和AM信号amt。我们使用subplot()函数将窗口分成两个部分,第一个部分用于绘制AM信号的时域波形,第二个部分用于绘制AM信号的频域波形。最后,我们使用plot()函数绘制时域图和频域图,并使用title()、xlabel()和ylabel()函数添加标题和标签。