MATLAB訊號處理之訊號的取樣

2021-08-23 12:07:22 字數 1892 閱讀 8458

所謂模擬訊號的數字訊號處理方法就是將待處理模擬訊號經過取樣、量化、編碼形成數碼訊號,並利用數字訊號處理方法對取樣得到的數碼訊號進行處理。

下面我們來看一下對模擬訊號取樣的具體**

f=200;               %訊號頻率為200hz

t=(0:0.0001:0.1); %定義訊號的時間範圍

x=cos(2*pi*f*t); %生成訊號

fs=800; %取樣頻率為800hz

n=80; %定義取樣點數

dt=1/fs; %取樣間隔,取樣間隔其實就可以理解為是取樣訊號的週期,週期=1/頻率

t=(0:n-1)*dt; %定義取樣的每個時間點

x1=cos(2*pi*f*t); %對訊號進行取樣

subplot(311);

plot(t,x);

ylim([-1

1])title('原始訊號')

subplot(312)

plot(t,x,t,x1,'rp');

ylim([-1

1]);

title('取樣過程')

subplot(313)

plot(t,x1);

ylim([-1

1])title('取樣後的訊號')

上面我們設定的取樣頻率和取樣點數分別為800和80,他倆比值為10,在這裡設定比值為10是為了在繪製取樣過程那個圖形時,讓取樣訊號的最後乙個取樣點等於原始訊號的最後乙個時間點,以便顯示的圖形更加美觀,我們也可以這樣寫

fs=800;           %取樣頻率為800hz

dt=1/fs; %取樣間隔,取樣間隔其實就可以理解為是取樣訊號的週期,週期=1/頻率

t=0:dt:0.1; %定義取樣的每個時間點

x1=cos(2*pi*f*t); %對訊號進行取樣

在這裡我們略去了取樣點數,直接讓取樣的最後乙個時間點和原始訊號的最後乙個時間點一樣,以便繪圖更加美觀

其實關於取樣頻率和取樣點數的關係還是有一點門道的,他倆的比值決定了頻率的解析度,等我再深入了解一下再專門寫一篇部落格介紹一下。

注:上圖中所畫的第三個圖,也就是取樣後的訊號圖,它不是由取樣訊號恢復到原訊號所形成的訊號,它只不過是把各個取樣點給連線了起來而已,對於上面**而言,原始訊號為200hz,取樣訊號為800hz,800>200*2,由取樣定理可知,我們所採取的取樣頻率可以恢復出原訊號的波形,只不過在這裡我們並沒有寫由取樣訊號恢復原訊號的**。

當然我們也可以用stem()函式來繪製取樣圖

f=20;                  %訊號頻率為20hz

t=(0:0.0001:0.1); %定義訊號的時間範圍

x=cos(2*pi*f*t); %生成訊號

fs=400; %取樣頻率為400hz

dt=1/fs; %取樣間隔,取樣間隔其實就可以理解為是取樣訊號的週期,週期=1/頻率

t=0:dt:0.1; %定義取樣的每個時間點

x1=cos(2*pi*f*t); %對訊號進行取樣

matlab訊號處理

閒暇時間寫了一些關於訊號處理的東西,基於matlab.訊號時域分析時的常用函式 方法 1.impulse impulse用於求連續系統衝激響應,並繪製其時域波形。呼叫格式 impulse b,a or impulse b,a,t or impulse b,a,t1 t2 b,a 系統方程對應的係數矩...

matlab隨機訊號處理

matlab中rand和randn是產生隨機數的命令,x rand 1,n 產生 0,1 區間均勻分布的長度為n的隨機訊號,x randn 1,n 產生長度為n且具有零均值和單位方差的正態分佈的隨機訊號。matlab中產生偽隨機數需要種子,把不同的種子用於不同的隨機數生成器產生不同的偽隨機數。bet...

MATLAB 訊號處理 基本離散時間訊號

參考書目 訊號與系統分析 isbn 978 7 81024 552 4 離散時間訊號定義 離散時間訊號是指在時間上取離散值,幅值取連續值的一類訊號,可以用序列來表示。如果離散時間訊號不僅在時間上是離散的,而且在幅度上又是量化的則稱為數碼訊號 按時間的連續與離散和幅值的連續與離散,訊號可分為 連續時間...