近日整理發現了部分幾年前寫的**,差點忘了寫過它們。現在貼在這裡,說不定哪天還能用一用。
clc;clear all;close all;
show_figure_a = 1;
show_figure_b = 1;
f = 905;
fs = 3000;
n = 128;
t = (0:n-1)/fs;
s = cos(2*pi*f*t);
%% 時域加窗
w = hanning(128)';
ss = s.*w;
y = abs(fft(ss,128));
if show_figure_a == 1
figure;
plot(y,'o');
title('時域加窗頻譜');
figure;
plot(s,'r');
hold on;
plot(ss,'b');
hold off;
title('時域加窗前後訊號');
end%% 頻域加窗
y2 = abs(fft(s,128));
y2 = [0 y2 0];
yy = ;
for i = 1:128
yy(1,i) = y2(1,i+1)/2 + y2(1,i)/4 + y2(1,i+2)/4;
endyy = abs(yy);
if show_figure_b == 1
figure;
plot(yy,'o');
title('頻域加窗頻譜');
end%% rife測頻
k_index = 40;
kr_index = 39;
k = yy(1,k_index);
kr = yy(1,kr_index);
if kr_index>k_index
kk = k_index-1+(2*kr-k)/(kr+k);
else
kk = k_index-1-(2*kr-k)/(kr+k);
endf = kk/128*fs;
fprintf('rife插值後頻率為 %f \n',f);
插值查詢 插值搜尋
這是一種和二分比較相似的查詢的演算法,不過不同的是,對於分布比較均勻的較大的陣列,插值查詢有時能夠一次就搜尋到位.為什麼能夠這麼快呢 看網上沒有什麼關於這種演算法的描述,我就來描述一下吧.首先要知道一點,這種搜尋方式只能夠針對順序表進行,再乙個要理解順序表中的乙個特點,在順序表中查詢是否存在乙個值,...
hermite插值 分段插值 Hermite插值
1.分段二次多項式插值 試用分段 4段 二次多項式插值來近似 0,1 區間上的 runge 函式 1 取區間的 8 等分點,計算插值節點處的函式值 2 每次取 3 個相鄰的等分點為一組,呼叫 polyinterp 函式,計算繪圖求值點 3 繪圖.2.hermite插值 編寫程式,繪製繪製多項式 p ...
插值法(拉格朗日插值和牛頓插值)
牛頓插值 defnewton interpolation x,y,init sum y 0 temp np.zeros len x len x 將第一行賦值 for i in range 0,len x temp i,0 y i temp sum 1.0 for i in range 1,len x...