TA的每日心情 | 开心 2022-1-24 15:10 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
感觉你的原始信号的生成有点问题,注意复数计算和for循环中i,j的使用,i,j当作复数单位是可以写成1i,1j,0 ^$ ~! O4 i2 n$ s6 F
clear all
4 b5 I) z5 X- Pclc2 j- i7 q6 ?2 _) v) y
n=0.0048;. ^7 h- c, }; T1 N. x, w
Gxn0=262144;" ?3 s9 Y0 o6 F, j9 V4 s
N=5200;
! r5 W ~1 [ z( I# P0 Wll=0.04;2 ]( W, _( k9 l* Z. x
for k=1:N/2
* M4 C: V3 s% U2 p4 k4 p; M5 m0 [ nk=k*n;) l% x% r0 O5 A, o% v& k) l
Gx(k)=Gxn0*(nk/0.1)^(-2);9 }; f1 h9 \; |1 `/ G+ G& i
Xk(k)=sqrt(N*Gx(k)/2/ll);: p" f: m1 v) @7 _. \& c
end% f: _* R6 ]6 A2 l; h
R=2*pi*rand(1,N/2);2 [4 {9 c7 X- S2 l8 O
for k=1:N/2
. f3 L0 P( R" ~1 S Xkf(k)=Xk(k)*exp(1i*R(k));% u/ V, k+ t8 E/ W) r$ N5 l( t. a
Xkf(N-k)=Xk(k)*exp(-1i*R(k));
4 Q$ d7 A& g8 @ q# Fend j6 H# o5 L3 [- Y$ ~+ O9 `: F1 ~
Xkf(N/2)=0; n$ B2 A/ l3 z% L& P
for j=1:N
# p% Y* z# V! C( H k=(1:1:N-1);. F6 V6 t/ B0 \
bb=exp(1i*2*pi*k*(j-1)/N);1 l. ~7 K9 d0 f9 C* P
cc=Xkf.*bb;3 h5 C- A5 \! b7 K' G
aa=sum(cc);5 r Z- O8 W9 k& z6 z
Xm(j)=abs(aa/N); %%此处修改了!%%%
' ~+ r! z. t" o/ c6 Iend
- |2 u6 I* j/ d, {; w2 bt=(1:N)*ll;- Q4 B/ f4 {" C3 z6 F9 v
figure(1)
& p( `. i8 g8 J' A- S/ ]2 V. D7 dplot(t,Xm)
( `( M! E$ j$ b, x$ q9 `3 ZL=length(Xm);. n; Q3 ?2 U p0 f
nfft=2^nextpow2(round(length(Xm)/4));
( a! l6 W% c3 Q7 e& {window=chebwin(nfft);9 O R- C* H9 R3 w
overlap=round(length(Xm)/8);9 R5 z, H$ r2 ]6 Y2 u' v1 C2 i, h) ~
ns=ceil(N/L);
4 m7 O1 o* E2 f @* S9 p[pxx,f] = pwelch(Xm,window,overlap,nfft,ns,'oneside');1 @6 A( e8 r4 _) h% _
figure(2); a) W- Q A( {7 {
plot(log10(f),log10(pxx)) |
|