📄 dspfft.m
字号:
c=[0.01 0.02 0.03 0.04 0.05 0.06]
X=8
Y=log(X)/log(2)
N=128
M=log(N)/log(2)
P=N/X
Q=log(P)/log(2)
for i=5:N
c(i)=0
end
a(1)=1
a(2)=2
for k=1:(M-1)
for i=(2^k):-1:1
a(2*i-1)=a(i)
end
for j=0:(2^k-1)
a(2*(j+1))=a(2*j+1)+2^k
end
end
for i=1:N
d(a(i),1)=c(i)
d(i,2)=0
end
for i=0:7
m=i*16+1
for j=1:15
n=m+j
d(n,1)=d(m,1)
d(n,2)=d(m,2)
end
end
for k=Q:(M-1)
for i=1:2^k
w(i,1)=cos(2*pi*(i-1)/2^(k+1))
w(i,2)=-sin(2*pi*(i-1)/2^(k+1))
end
for j=1:2^(k+1):N
for m=0:(2^k-1)
s=j+m
t=j+m+2^k
a1=(d(s,1)+w(m+1,1)*d(t,1)-w(m+1,2)*d(t,2))
a2=(d(s,2)+w(m+1,1)*d(t,2)+w(m+1,2)*d(t,1))
b1=(d(s,1)-w(m+1,1)*d(t,1)+w(m+1,2)*d(t,2))
b2=(d(s,2)-w(m+1,1)*d(t,2)-w(m+1,2)*d(t,1))
d(s,1)=a1
d(s,2)=a2
d(t,1)=b1
d(t,2)=b2
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -