采样信号频谱

目录

1、信号基础:

2、信号与采样信号频谱:

3、基带信号抽取与内插频谱:


1、信号基础:

奈奎斯特采样定理:采样频率大于或等于信号最高频率的两倍(fs≧2fH),被采样的信号可以不失真地还原成原始信号。

采样信号的频谱:    从频域上看,采样后信号的频谱会以采样频率fs进行周期延拓。

频谱中的负频率:   频率为ω的时域信号cos(ωt),可表示成两个旋转方向相反的复指数信号之和{exp(-jωt)+exp(jωt)}/2,负频率表示信号的旋转方向,因此采样信号的频谱关于0频轴对称。

2、信号与采样信号频谱:

信号频谱:

采样信号频谱:

3、基带信号抽取与内插频谱:

抽取和内插的作用:

    模数转换时,使用高采样率进行AD转换信号中噪声小,由于基带信号的频率低,并不需要ADC的高采样率数据,因此通过抽取降低基带信号的采样率再进行后续基带数字信号处理。

    数模转换时,基带信号频率低其采样率也低,如果使用低采样率的基带信号直接进行DA转换,信号噪声大,因此通过内插将低采样率基带信号转变成高采样率基带信号,再进行DA转换。

采样基带信号频谱:

基带信号抽取后频谱:

   5倍抽取,采样率降为原来的1/5(fs=F1/5),基带信号的最高频率fc=F1/8(2fc=F1/4),此时fs<2fc,因此抽取后频谱将发生混叠,抽取后使用抗混叠低通滤波器滤除带外频谱。

基带信号内插后频谱:

    D倍内插,时域信号中间加D-1个0点,采样率提高不会存在信号频率与采样频率(矩形框中)之间的频率,内插后使用去镜像低通滤波器滤除带外频谱。

以下是使用 MATLAB 实现生成所需图形的代码: ```matlab % 原始连续信号 t = -1:0.001:1; f1 = 5; f2 = 10; x = sin(2*pi*f1*t) + 0.5*sin(2*pi*f2*t); N = length(x); f = (-N/2:N/2-1) * (1/(max(t)-min(t))); % 原始连续信号时域图 figure; subplot(4,4,1); plot(t, x); title('原始连续信号时域图'); xlabel('时间 (s)'); ylabel('幅值'); % 原始连续信号频谱 X = fftshift(fft(x)); subplot(4,4,2); plot(f, abs(X)); title('原始连续信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % 采样频率 fs1 = 50; fs2 = 30; fs3 = 20; % 50Hz 采样 Ts1 = 1/fs1; t1 = -1:Ts1:1; x1 = sin(2*pi*f1*t1) + 0.5*sin(2*pi*f2*t1); N1 = length(x1); f1_axis = (-N1/2:N1/2-1) * (fs1/N1); % 50Hz 采样信号时域图 subplot(4,4,3); stem(t1, x1); title('50Hz 采样信号时域图'); xlabel('时间 (s)'); ylabel('幅值'); % 50Hz 采样信号频谱 X1 = fftshift(fft(x1)); subplot(4,4,4); plot(f1_axis, abs(X1)); title('50Hz 采样信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % 30Hz 采样 Ts2 = 1/fs2; t2 = -1:Ts2:1; x2 = sin(2*pi*f1*t2) + 0.5*sin(2*pi*f2*t2); N2 = length(x2); f2_axis = (-N2/2:N2/2-1) * (fs2/N2); % 30Hz 采样信号时域图 subplot(4,4,5); stem(t2, x2); title('30Hz 采样信号时域图'); xlabel('时间 (s)'); ylabel('幅值'); % 30Hz 采样信号频谱 X2 = fftshift(fft(x2)); subplot(4,4,6); plot(f2_axis, abs(X2)); title('30Hz 采样信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % 20Hz 采样 Ts3 = 1/fs3; t3 = -1:Ts3:1; x3 = sin(2*pi*f1*t3) + 0.5*sin(2*pi*f2*t3); N3 = length(x3); f3_axis = (-N3/2:N3/2-1) * (fs3/N3); % 20Hz 采样信号时域图 subplot(4,4,7); stem(t3, x3); title('20Hz 采样信号时域图'); xlabel('时间 (s)'); ylabel('幅值'); % 20Hz 采样信号频谱 X3 = fftshift(fft(x3)); subplot(4,4,8); plot(f3_axis, abs(X3)); title('20Hz 采样信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % FIR 滤波器设计 fc = 15; % 截止频率 N_fir = 64; % 滤波器阶数 b = fir1(N_fir, fc/(fs1/2)); % FIR 滤波器频率响应 [H_fir, w_fir] = freqz(b, 1, 512, fs1); subplot(4,4,9); plot(w_fir, abs(H_fir)); title('FIR 滤波器频率响应'); xlabel('频率 (Hz)'); ylabel('幅值'); % IIR 滤波器设计(巴特沃斯) [N_iir, Wn] = buttord(fc/(fs1/2), (fc+5)/(fs1/2), 3, 40); [b_iir, a_iir] = butter(N_iir, Wn); % IIR 滤波器频率响应 [H_iir, w_iir] = freqz(b_iir, a_iir, 512, fs1); subplot(4,4,10); plot(w_iir, abs(H_iir)); title('IIR 滤波器频率响应(巴特沃斯)'); xlabel('频率 (Hz)'); ylabel('幅值'); % 50Hz 采样 FIR 恢复信号 x1_rec = filter(b, 1, x1); t1_rec = -1:Ts1:1-(length(x1_rec)-length(t1))*Ts1; subplot(4,4,11); plot(t1_rec, x1_rec); title('50Hz 采样 FIR 恢复信号'); xlabel('时间 (s)'); ylabel('幅值'); % 50Hz 恢复信号频谱 X1_rec = fftshift(fft(x1_rec)); N1_rec = length(x1_rec); f1_rec_axis = (-N1_rec/2:N1_rec/2-1) * (fs1/N1_rec); subplot(4,4,12); plot(f1_rec_axis, abs(X1_rec)); title('50Hz 恢复信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % 30Hz 采样 FIR 恢复信号 x2_rec = filter(b, 1, x2); t2_rec = -1:Ts2:1-(length(x2_rec)-length(t2))*Ts2; subplot(4,4,13); plot(t2_rec, x2_rec); title('30Hz 采样 FIR 恢复信号'); xlabel('时间 (s)'); ylabel('幅值'); % 30Hz 恢复信号频谱 X2_rec = fftshift(fft(x2_rec)); N2_rec = length(x2_rec); f2_rec_axis = (-N2_rec/2:N2_rec/2-1) * (fs2/N2_rec); subplot(4,4,14); plot(f2_rec_axis, abs(X2_rec)); title('30Hz 恢复信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); % 20Hz 采样 FIR 恢复信号 x3_rec = filter(b, 1, x3); t3_rec = -1:Ts3:1-(length(x3_rec)-length(t3))*Ts3; subplot(4,4,15); plot(t3_rec, x3_rec); title('20Hz 采样 FIR 恢复信号'); xlabel('时间 (s)'); ylabel('幅值'); % 20Hz 恢复信号频谱 X3_rec = fftshift(fft(x3_rec)); N3_rec = length(x3_rec); f3_rec_axis = (-N3_rec/2:N3_rec/2-1) * (fs3/N3_rec); subplot(4,4,16); plot(f3_rec_axis, abs(X3_rec)); title('20Hz 恢复信号频谱'); xlabel('频率 (Hz)'); ylabel('幅值'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值