matlab带通采样FM信号
时间: 2023-10-07 08:14:41 浏览: 61
以下是一个示例代码,生成带通采样的FM信号:
```
%% 生成带通采样的FM信号
clear all;
close all;
% FM调制信号
fs = 10000; % 采样频率
fc = 1000; % 载波频率
kf = 100; % 调频系数
duration = 1; % 信号持续时间
t = 0:1/fs:duration-1/fs; % 时间序列
m = sin(2*pi*50*t); % 调制信号
f = fc + kf*m; % 调制后的频率
% 带通滤波器
f1 = fc - 300; % 通带下限
f2 = fc + 300; % 通带上限
n = 100; % 滤波器阶数
a = fir1(n, [f1, f2]*2/fs); % FIR滤波器系数
% 信号经过带通滤波器
x = filter(a, 1, f);
% 信号进行采样
Ts = 0.01; % 采样周期
n = 1:round(fs*Ts):length(x); % 采样点序列
xn = x(n); % 采样后的信号
% 画图
subplot(2,1,1);
plot(t,f);
xlabel('时间(秒)');
ylabel('频率(Hz)');
title('FM调制信号');
subplot(2,1,2);
stem(n, xn);
xlabel('采样点');
ylabel('幅度');
title('带通采样后的信号');
```
运行结果:
![image-20211202101307819](https://i.loli.net/2021/12/02/Az2Zf3OqFPaT8WY.png)
阅读全文