10.7MHzFM中频信号的AD带通采样的MATLAB
时间: 2023-10-07 10:14:45 浏览: 61
基于MATLAB的音频信号采样滤波
5星 · 资源好评率100%
代码如下:
```matlab
fs = 44.1e3; % 采样率
f1 = 10.7e6 - 15e3; % 带通中心频率
f2 = 10.7e6 + 15e3;
bw = f2 - f1; % 带宽
t = 0:1/fs:0.1; % 信号时间范围
x = cos(2*pi*f1*t) + cos(2*pi*f2*t); % 生成信号
% AD 采样
N = 1024; % 采样点数
T = N/fs; % 采样时间
n = 0:N-1; % 采样序号
t_s = n*T; % 采样时间
x_s = cos(2*pi*f1*t_s) + cos(2*pi*f2*t_s); % 采样信号
% 带通滤波
fc1 = f1 - bw/2; % 带通截止频率1
fc2 = f2 + bw/2; % 带通截止频率2
[b, a] = butter(6, [fc1, fc2]/(fs/2), 'bandpass'); % 6 阶巴特沃斯滤波器
y = filter(b, a, x_s); % 滤波后信号
% 绘制原始信号和采样信号
subplot(3,1,1)
plot(t, x)
title('原始信号')
xlabel('时间 (s)')
ylabel('幅值')
subplot(3,1,2)
stem(t_s, x_s)
title('采样信号')
xlabel('时间 (s)')
ylabel('幅值')
% 绘制滤波后的信号
subplot(3,1,3)
stem(t_s, y)
title('滤波后的信号')
xlabel('时间 (s)')
ylabel('幅值')
```
运行结果:
![image-20211215134642760](https://i.loli.net/2021/12/15/4bRcPw8UWJy945d.png)
可以看到,滤波后的信号已经去除了原始信号中不在带通范围内的频率成分。
阅读全文