f -- 信号频率
fs -- 采样频率
N -- 采样点数
信号频率(f):
信号频率就是信号的频率,影响的是信号的发生函数。
采样点数(N):
采样点数是一次向PC端发送的数据量包含的点数,采样点数决定了每次传到PC内的数据量。
就是每个周期采了几个点。N =T/dt ;dt = 1/fs.
FFT、IFFT的采样点数必须是2的指数,在频域一个频点对应时域的一次采样,所以FFT的点数自然就是2048、1024、512、256、128.
采样率
采样率决定了采样的精度。
采样频率(Hz):
波形中相邻两点间隔的实践就是采样频率(fs)的倒数。
采样频率必须大于信号的频率(不失真),fs/N(频率分辨率)越小,精度越高,通过补0增加的FFT点数无法提高FFT精度。
产生信号的总时间长度t = dt*采样数 = 采样数/fs
信号周期T = 1/f ;
产生信号的周期数 = 总时间长度/T = 总时间长度信号频率 = 采样数/采样频率信号频率
采样针对于信号处理来说的,模拟信号的数字信号处理方法就是将待处理的模拟信号经过采样、量化、编码形成数字信号,并利用数字信号处理方法对采样得到的数字信号进行处理。
绘图:
%% 信号采样
% 信号生成
f = 200; % 信号频率
Tf = 1/f; % 0.005 一个信号周期的时间
% t = (0:0.00001:20*Tf); % 信号的时间范围 ,总的传播时间
t = linspace(0,20*Tf,1000*20); % 原信号每个周期内的点数为1000个点
% Tn = t(end)/Tf % 20 信号周期数,一共重复了20次
x = cos(2*pi*f*t); % 生成的信号
% 采样
N =50; % 自定义采样点数 一个周期的采样点数
fs = f*N; % 采样频率
dt = 1/fs; % 采样间隔,采样间隔可以理解为采样信号的周期,周期 = 1/频率
% T = (0:N-1)*dt; % 定义采样的每个时间点 一个周期采样时间
T = 0:dt:t(end); % 整个信号时间范围内采样
x1 = cos(2*pi*f*T); % 对信号进行采样
subplot(311);
plot(t,x); %原始信号
title('原始信号');
ylim([-1 1]);
subplot(312);
plot(t,x,'b',T,x1,'rp'); % 采样点
title('采样过程');
ylim([-1 1]);
subplot(313)
plot(T,x1) %采样信号
title('采样后的信号')
ylim([-1 1])
xlabel('时间/s')
从图中可以看出,采样点数越多,采样频率越大,采样后的信号与原信号越精确,否则会出现波形失真。