Matlab对465KHz的AM信号进行采样和正交解调代码
时间: 2024-05-27 18:14:04 浏览: 10
以下是Matlab对465KHz的AM信号进行采样和正交解调的代码示例:
% 设置采样频率和采样时间
fs = 2*465e3;
T = 1/fs;
% 生成时间轴
t = 0:T:0.1-T;
% 生成AM信号
fc = 465e3;
Ac = 1;
Am = 0.5;
fm = 1e3;
m = Am*cos(2*pi*fm*t);
c = Ac*cos(2*pi*fc*t);
x = (1+m).*c;
% 进行采样
N = length(x);
xn = x(1:N/100:N);
% 生成正交载波
f_lo = fc + fm;
I = cos(2*pi*f_lo*t);
Q = sin(2*pi*f_lo*t);
% 进行正交解调
y_I = xn.*I(1:length(xn));
y_Q = xn.*Q(1:length(xn));
y = hilbert(y_Q);
z = y_I + 1i*y;
% 绘制原始信号和解调信号
figure;
subplot(2,1,1);
plot(t,x);
title('原始信号');
xlabel('时间 (s)');
ylabel('幅度');
subplot(2,1,2);
plot(t(1:length(z)),real(z));
title('解调信号');
xlabel('时间 (s)');
ylabel('幅度');
相关问题
matlab对465KHz的AM信号进行采样和正交解调
采样:
采样频率应该大于信号的最高频率两倍。因为AM信号的最高频率为465KHz,所以采样频率应该大于930KHz。在Matlab中,可以使用以下代码对AM信号进行采样:
Fs = 2*930000; %采样频率
t = 0:1/Fs:1; %采样时间
carrier = cos(2*pi*465000*t); %载波信号
message = 0.5*sin(2*pi*10*t); %调制信号
am_signal = (1+message).*carrier; %AM信号
正交解调:
将AM信号分成两路,一路和本地载波同频,另一路和本地载波正交。然后将两路信号分别进行低通滤波,得到调制信号。
在Matlab中,可以使用以下代码对AM信号进行正交解调:
%将AM信号分成两路
am_signal1 = am_signal.*cos(2*pi*465000*t);
am_signal2 = am_signal.*sin(2*pi*465000*t);
%低通滤波
[b,a] = butter(10,0.1);
message1 = filter(b,a,am_signal1);
message2 = filter(b,a,am_signal2);
%得到调制信号
message = message1 + 1i*message2;
使用MATLAB对载波频率为465kHz的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)
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)