时域采样matlab程序
时间: 2023-10-31 14:05:13 浏览: 58
时域采样是将连续信号转换为离散信号的过程,其中MATLAB是一个常用的工具。下面是一个简单的时域采样MATLAB程序的示例:
1. 首先定义一个模拟信号,例如:
t = 0:0.001:1; % 时间范围为0到1秒,采样间隔为0.001秒
x = sin(2*pi*10*t) + sin(2*pi*20*t); % 10Hz和20Hz的正弦波信号
2. 然后定义采样频率和采样时间:
fs = 50; % 采样频率为50Hz
ts = 1/fs; % 采样时间为1/50秒
3. 进行离散采样:
n = 0:ts:1; % 采样时间范围为0到1秒
xn = sin(2*pi*10*n) + sin(2*pi*20*n); % 采样信号
4. 绘制原始信号和采样信号的时域波形:
subplot(2,1,1); % 分成两个子图,第一个子图
plot(t,x); % 绘制原始信号
title('原始信号');
xlabel('时间(秒)');
ylabel('幅值');
subplot(2,1,2); % 分成两个子图,第二个子图
stem(n,xn); % 绘制采样信号
title('采样信号');
xlabel('时间(秒)');
ylabel('幅值');
5. 绘制原始信号和采样信号的频域波形:
X = fft(x); % 原始信号的频谱
Xn = fft(xn); % 采样信号的频谱
f = (0:length(X)-1)*fs/length(X); % 频率范围
fn = (0:length(Xn)-1)*fs/length(Xn); % 频率范围
subplot(2,1,1); % 分成两个子图,第一个子图
plot(f,abs(X)); % 绘制原始信号的频谱
title('原始信号的频谱');
xlabel('频率(Hz)');
ylabel('幅值');
subplot(2,1,2); % 分成两个子图,第二个子图
stem(fn,abs(Xn)); % 绘制采样信号的频谱
title('采样信号的频谱');
xlabel('频率(Hz)');
ylabel('幅值');