TA的每日心情 | 开心 2022-1-24 15:10 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
感觉你的原始信号的生成有点问题,注意复数计算和for循环中i,j的使用,i,j当作复数单位是可以写成1i,1j,
: i6 x/ Z1 ?# [clear all! V, h3 X8 U- g7 o5 Q8 p
clc
* v5 {8 A" `& x# C' O2 Zn=0.0048;
3 P! S0 B: i. s O2 wGxn0=262144;; m. h; z3 g" B1 D4 N; Y
N=5200;; v" j) d; [$ b1 Q1 F# F5 o* l
ll=0.04;
r7 \2 {% _9 m" p! afor k=1:N/2# O0 q% _9 {/ y
nk=k*n;5 Q" E* U0 O# {6 s1 ?* M
Gx(k)=Gxn0*(nk/0.1)^(-2);
5 y4 Z) l5 L' a3 q* f$ x! W4 h/ l Xk(k)=sqrt(N*Gx(k)/2/ll);
0 [* x8 b5 a, \ n3 vend5 t/ O- [) Q) i
R=2*pi*rand(1,N/2);
9 C; a8 f9 } o; S' _for k=1:N/2
3 C* B7 z: ^ T4 x, v Xkf(k)=Xk(k)*exp(1i*R(k));8 B6 m2 b& K2 ~$ h1 k0 D2 O
Xkf(N-k)=Xk(k)*exp(-1i*R(k));7 ?( }* G! ^2 W* w; b0 t
end
# M, D6 b! h! {% I" {Xkf(N/2)=0;, \* d6 l; e" e" G2 G7 R( P' Y
for j=1:N
: R' Z# }' Z- [9 s9 o5 R2 L k=(1:1:N-1);4 a* Z3 n( ?4 M1 d, n$ A6 O. X
bb=exp(1i*2*pi*k*(j-1)/N);
6 `* m! J: v7 f# L- w+ B, d" O6 a3 G. I cc=Xkf.*bb;& U) Y5 ?& P& r1 p7 S2 j, M3 a
aa=sum(cc);/ a' i; ~, u6 g; G% d# M( e
Xm(j)=abs(aa/N); %%此处修改了!%%%* L. }' X- W% y; g; }5 T7 ]
end
/ C8 D2 V' b3 q8 c+ Gt=(1:N)*ll;
' n0 }3 q2 O+ G& {figure(1)
) L; a" h3 F- v9 k/ {" L1 t% `plot(t,Xm)
b1 J9 T5 D# q' q+ gL=length(Xm);7 f! N1 f4 y3 Q" j
nfft=2^nextpow2(round(length(Xm)/4));
3 b V; ?- v0 l" Mwindow=chebwin(nfft);# |% q/ X3 f0 j" z" K( T& c ^9 y
overlap=round(length(Xm)/8);) R# {. V" o( l6 D
ns=ceil(N/L);6 [+ W) ^6 F( T: k( c% N8 U
[pxx,f] = pwelch(Xm,window,overlap,nfft,ns,'oneside');4 m3 Y' l8 Y! L. z; Q5 ^: g
figure(2)% M$ T4 f- B N% v! H5 i. O# g. n
plot(log10(f),log10(pxx)) |
|