TA的每日心情 | 开心 2022-1-24 15:10 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
感觉你的原始信号的生成有点问题,注意复数计算和for循环中i,j的使用,i,j当作复数单位是可以写成1i,1j,
* R& m3 n0 D8 w! C R3 D3 Oclear all
' L; t3 s& N& E2 Kclc- j& m4 c/ g: j U, ?$ ~
n=0.0048;* G! J4 M- e$ R# P; }: c0 v
Gxn0=262144;
2 g5 _& v6 e: R2 AN=5200;
* ?3 l" g# v" X$ G0 n& m6 ~; E7 ]ll=0.04;
0 o& ]( M* V' I: H7 @# N3 i6 D$ Gfor k=1:N/2# ]) L' H; y+ B7 T$ n
nk=k*n;
3 O @, t8 E G0 {7 J Gx(k)=Gxn0*(nk/0.1)^(-2);5 ]& o4 R2 L J' x
Xk(k)=sqrt(N*Gx(k)/2/ll);- J* Y. w% O# B1 o. I
end
9 r# ~* O8 b+ t6 h( DR=2*pi*rand(1,N/2);; Y& a) r8 @, m
for k=1:N/2
7 m) k7 B: N( m9 p/ ? w4 I Xkf(k)=Xk(k)*exp(1i*R(k));/ v0 ~+ X# R' ?9 M' L
Xkf(N-k)=Xk(k)*exp(-1i*R(k));5 g4 N4 l' \0 |+ M y4 Y
end
/ {* i& ^( w$ T' B0 ?% Y& O# vXkf(N/2)=0;
) g0 h) I7 d$ E7 q# T5 kfor j=1:N v* C x1 B; e0 q7 V
k=(1:1:N-1);
3 T0 L% H$ T$ a; e o bb=exp(1i*2*pi*k*(j-1)/N);/ J+ q( d& X0 y
cc=Xkf.*bb;4 T! Q+ P1 {& w& Y: b% r
aa=sum(cc);
4 r1 e2 ~8 o+ k- }" T# E3 a- w Xm(j)=abs(aa/N); %%此处修改了!%%%
; e+ k2 k8 d' D7 v ?end$ r' H* J" ^6 @: ^
t=(1:N)*ll;
0 ?9 w: p5 H8 p, Vfigure(1). h# K* _8 J% i2 J5 _; V5 A( ?
plot(t,Xm)% z9 M& g* v+ N* Z/ g( B( I
L=length(Xm);! z- C7 W1 g6 Q0 T; h, I% `
nfft=2^nextpow2(round(length(Xm)/4));) q' }) w- ?: ?- H( N: J
window=chebwin(nfft);. H3 U0 Z) X- `2 e# i: W1 F
overlap=round(length(Xm)/8);( l& t. H* E& Y1 [! J) v' R
ns=ceil(N/L);/ u9 q/ k- y1 B- g& F5 @
[pxx,f] = pwelch(Xm,window,overlap,nfft,ns,'oneside');: o9 c* f F' @1 S+ C. c5 H
figure(2), E2 P5 Y _) b/ q; c1 t' z# g
plot(log10(f),log10(pxx)) |
|