使用MATLAB对载波频率为465kHz的AM信号进行采样以及正交解调
时间: 2024-05-08 21:17:38 浏览: 165
抑制载波AM调制实窄带信号
假设AM信号为s(t),采样频率为fs。则可以用以下MATLAB代码进行采样:
```
fs = 1000; % 采样频率
t = 0:1/fs:1; % 采样时间
fc = 465000; % 载波频率
Ac = 1; % 载波幅度
Am = 0.5; % 调制信号幅度
fm = 1000; % 调制信号频率
s = (Ac + Am*cos(2*pi*fm*t)).*cos(2*pi*fc*t); % AM信号
% 进行采样
Ts = 1/fs; % 采样间隔
n = 0:1:(length(s)-1); % 采样序列
s_sampled = s(n*Ts); % 采样后的信号
```
接下来进行正交解调。首先需要生成正交载波,可以使用cos和sin函数:
```
t = 0:1/fs:1; % 采样时间
fc = 465000; % 载波频率
c1 = cos(2*pi*fc*t); % 正交载波1
c2 = sin(2*pi*fc*t); % 正交载波2
```
然后将采样信号与两个正交载波相乘,并进行低通滤波,得到基带信号:
```
% 进行正交解调
I = s_sampled.*c1; % 乘以正交载波1
Q = s_sampled.*c2; % 乘以正交载波2
% 低通滤波
[b,a] = butter(10,2*fm/fs);
I_filt = filter(b,a,I);
Q_filt = filter(b,a,Q);
% 得到基带信号
s_demod = I_filt - 1i*Q_filt;
```
最后可以绘制采样信号和解调后的信号进行比较:
```
% 绘制采样信号和解调信号
subplot(2,1,1);
plot(t, s_sampled);
xlabel('时间(s)');
ylabel('幅度');
title('采样信号');
subplot(2,1,2);
plot(t, abs(s_demod));
xlabel('时间(s)');
ylabel('幅度');
title('解调信号');
```
运行上述代码可以得到采样信号和解调信号的图形,如下图所示:
![采样信号和解调信号](https://img-blog.csdn.net/2018031919505227)
阅读全文