2 『fftshift』誤寫成了『fft』
3. 完整程式
字母『l』和數字『1』,字母『o』和數字『0』,非常容易混淆。編寫程式的時候需要仔細核對。
畫出的頻譜圖如下圖所示,和教科書中的圖不一致。
% 例題 a1.1 對連續時間變化訊號進行取樣,
% 然後進行fft變換。
clear
clff0=2e3;
t0=1/f0;
fs=1e5;
ts=1/fs;
df=1e3;
t=[-t0/2:ts:t0/2]
;xn=cos(2*pi*f0*t)
;subplot(2,1,1)
stem(t*1000,xn,'fill'
)grid on
title(
'取樣時間序列x(n)'
)xlabel(
't(ms)'
)ylabel(
'amplitute'
)[x,x,dfl]
=fftseq(xn,ts,df)
x1=x/fs;
f1=[0:df1:df1*(length(x)-1)
]-fs/2;
subplot(2,1,2)
plot(f1/1000,abs(fftshift(x1))
)grid on
title(
'經補零增長後的fft結果'
)xlabel(
'f(khz)'
)ylabel(
'amplitute'
)
% 實驗中需要使用的fftseq函式
function[m,m,df]
=fftseq(m,ts,df)
fs=1/ts;
if nargin==2
n1=0;
else
n1=fs/df;
endn2=length(m)
;n=2^(max(nextpow2(n1),nextpow2(n2)));
m=fft(m,n);m=
[m,zeros(1,n-n2)];
df=fs/n;
% 例題 a1.2 對於例題a1.1中的時間序列進行fft變換,
% 要求頻率解析度為1khz以下。
clear
clff0=2e3;
t0=1/f0;
fs=1e5;
ts=1/fs;
df=1e3;
t=[-t0/2:ts:t0/2]
;xn=cos(2*pi*f0*t)
;subplot(2,1,1)
stem(t*1000,xn,'fill'
)grid on
title(
'取樣時間序列x(n)'
)xlabel(
't(ms)'
)ylabel(
'amplitute'
)[x,x,df1]
=fftseq(xn,ts,df)
;x1=x/fs;
f1=[0:df1:df1*(length(x)-1)
]-fs/2;
subplot(2,1,2)
plot(f1/1000,abs(fftshift(x1))
); % plot(f1/1000,abs(fftshift(x1))
)grid on
title(
'經補零增長後的fft結果'
)xlabel(
'f(khz)'
)ylabel(
'amplitute'
)
PCB 電子線路板製作流程
有幸參觀過電腦主機板的製作流水線,一共幾十道工序,與一般的產品生產要求不同,pcb製造業對員工健康要求較高,從事這個行業的一線生產的員工的健康狀況讓人擔憂。由此想到自己坐在明亮的辦公室,真應該少一些抱怨,多做點實事。流程大致如下 1 開料 把買回來的銅片,像紙一樣的,一捲一捲的,切割成不同大小尺寸的...
電子線路設計技巧3 ATT7022E電壓取樣電路
本篇日誌介紹att7022e電壓取樣電路,att7022e電壓取樣電路可以分為4種 電阻分壓輸入 電壓互感器輸入 電流互感器輸入 差分方式 和電流互感器輸入 單端方式 其中 電流互感器輸入 差分方式 可以在得到較好精度的同時,又能維持和好的隔離效果,是推薦採用的電壓取樣方式,其電流互感器可選擇1 1...
電子線路設計技巧4 ATT7022E電流取樣電路
本篇日誌介紹att7022e電流取樣電路,att7022e電壓取樣電路都是通過電流互感器完成,可以分為2種 差分輸入和單端輸入。在條件允許的情況下,我們盡量採用差分輸入方式構建電流取樣電路,因為這樣可以得到更高的精度和抗干擾性。下圖使用zmct116a作為電流互感器完成電流取樣,zmct116a變比...