10.7MHz的FM中频广播信号用ADC进行带通采样的matlab代码
时间: 2024-06-06 12:10:47 浏览: 125
宽带跳频接收单元电路的实现
以下是可能的解决方案:
% 假设输入信号已经存储在变量x中,采样率为Fs
% 带通滤波器参数
fc = 10.7e6; % 中频频率
bw = 200e3; % 带宽
f1 = fc - bw/2; % 通带左边界频率
f2 = fc + bw/2; % 通带右边界频率
n = 6; % 阶数
% 设计带通滤波器
[b,a] = butter(n,[f1 f2]/(Fs/2),'bandpass');
% 采样
y = filter(b,a,x);
% ADC采样
bits = 12; % 采样位数
Vref = 2.5; % 参考电压
q = Vref/(2^bits-1); % 量化步长
y_adc = round(y/q)*q; % 量化
% 绘制采样前后的信号频谱
N = length(x);
X = fft(x,N);
Y = fft(y,N);
Y_adc = fft(y_adc,N);
f = (0:N-1)*(Fs/N);
subplot(3,1,1);
plot(f,abs(X));
title('原始信号频谱');
subplot(3,1,2);
plot(f,abs(Y));
title('带通滤波后信号频谱');
subplot(3,1,3);
plot(f,abs(Y_adc));
title('ADC采样后信号频谱');
阅读全文