信号的采样与插值重建(包含matlab)
生活随笔
收集整理的這篇文章主要介紹了
信号的采样与插值重建(包含matlab)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實驗任務
雙頻信號的采樣和插值重建:對雙頻信號進行采樣(符合奈奎斯特低通采樣定理),繪制波形和頻譜;編制sinc函數插值函數,對采樣進行恢復,繪制波形。
實驗原理
matlab代碼
clear all; close all; %%parameter settings %采樣相關參數設置 N = 100; %采樣點數 Fs = 20; %采樣頻率 20Hz Ts = 1/Fs; %采樣間隔 DS=1/(Ts*N); %頻率分辨率 T = N*Ts; %采樣時長 n = 0:N-1; ts = n*Ts;%采樣時間序列 f_s = -Fs/2:DS:Fs/2-DS;%采樣頻率序列 %原始信號相關參數設置 f1 = 1; %信號1頻率1Hz f2 = 2; %信號2頻率2Hz Tn = 0.01;%原始信號時間間隔 Fn = 1/Tn; Nn = N*Ts/Tn; Dn = Fn/Nn; f_n = -Fn/2:Dn:Fn/2-Dn; tn = 0:Tn:T-Tn;%原始時間序列 x = sin(2*pi*f1*tn)+sin(2*pi*f2*tn);%原始信號 x1 = sin(2*pi*f1*ts)+sin(2*pi*f2*ts); %采樣信號 figure(1); mag=abs(fft(x))/Fn; subplot(211); plot(tn,x); title(['原始信號波形']); subplot(212); plot(f_n,fftshift(mag)); title(['原始信號頻譜']); figure(2); mag1=abs(fft(x1))/Fs; subplot(211); stem(ts,x1); title(['采樣信號波形']); subplot(212); plot(f_s,fftshift(mag1)); title(['采樣信號頻譜']); %%sinc函數內插恢復 step = Ts/Tn; y=zeros(1,length(tn));%y表示內插恢復后的信號 t = -T+Tn:Tn:T-Tn; mid = ceil(length(t)/2); h = sinc(t/Ts); figure(3); plot(t,h); axis([-T,T,0,2]); title("sinc函數波形"); for index = 1:1:length(ts)t_shift = t(mid-(index-1)*step:end-(index-1)*step);%相當于t-kTsy = y + x1(index)*sinc(t_shift/Ts); end figure(4); subplot(2,1,1); plot(tn,y); title("sinc函數內插恢復后的信號波形"); subplot(2,1,2); magy = abs(fft(y))/Fn; plot(f_n,fftshift(magy)); title("sinc函數內插恢復后的信號頻譜");運行結果
f1 = 1; %信號1頻率1Hzf2 = 2; %信號2頻率2Hz總結
以上是生活随笔為你收集整理的信号的采样与插值重建(包含matlab)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个有关数组的题
- 下一篇: 4pam调制与解调(matlab实现)