📜  在MATLAB中进行下采样

📅  最后修改于: 2021-04-17 02:14:49             🧑  作者: Mango

多速率系统中的两个基本操作是减小/下采样(抽取)和增加(内插)信号的采样速率。

在下采样中,我们从恒定时间信号x(t)开始,将其转换为一系列测试x [n];在抽取过程中,我们从离散时间信号x [n]开始,并将其转换为另一个离散时间信号y [n],包括x [n]的子测试。


我们将使用decimate()stem()函数。
decimate()函数用于将采样率降低整数倍。

stem()函数用于绘制离散序列数据。

用于下采样的MATLAB代码:

% Time vector
t = 0 : .00025 : 1;
  
% Original signal
x = sin(2 * pi * 50 * t) + sin(2 * pi * 100 * t);
  
% Reduces the sample rate of original signal by factor of 4
y = decimate(x, 4); 
  
figure()
subplot(2, 2, 1);
  
% Plot few samples of the Original signal
stem(x(1:75)) 
title('Original Signal');
  
subplot(2, 2, 2);
  
% Plots few samples of the Decimated signal
stem(y(1:75)); 
title('Decimated Signal');

输出