TA的每日心情 | 开心 2022-1-24 15:10 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
感觉你的原始信号的生成有点问题,注意复数计算和for循环中i,j的使用,i,j当作复数单位是可以写成1i,1j,0 G1 T( H4 t' w7 O3 d) l% K
clear all
" A8 q) {* G( `# r4 O3 uclc+ M0 ]6 i9 f R3 w+ {, m
n=0.0048;
6 q" a, n( `7 |+ w% G7 ~9 I+ hGxn0=262144;$ N% l7 L K4 V2 t/ F
N=5200;
`0 o: ?+ O& V) k; Z( ^ll=0.04;4 Z! D9 z5 S5 K" o7 _
for k=1:N/2 y+ x W) M" b! G+ h& \$ t q
nk=k*n;" g3 @1 E/ u! d! ^8 C
Gx(k)=Gxn0*(nk/0.1)^(-2);
3 ^* V" o# S: v# K$ u3 {$ T Xk(k)=sqrt(N*Gx(k)/2/ll);4 N1 M% S" g5 V% v _
end2 B! M. j+ _. ~# S
R=2*pi*rand(1,N/2);
3 m0 X( u) f0 bfor k=1:N/2' h" p9 j3 y: w, a6 S3 |
Xkf(k)=Xk(k)*exp(1i*R(k));
( x# p; X9 }/ U _& d8 b( I! j Xkf(N-k)=Xk(k)*exp(-1i*R(k));9 N2 _$ S; ~# j2 I
end
# P0 E% D% n; T9 a' _6 L5 gXkf(N/2)=0;
! { r7 Y1 f/ s2 u: n# e/ \* H. R! m" hfor j=1:N4 M; \# Y9 V0 T, O8 ^
k=(1:1:N-1);! e Z2 q6 J. L1 c' l
bb=exp(1i*2*pi*k*(j-1)/N); E1 r8 f n& d) L, p7 e
cc=Xkf.*bb;
2 K, M ~7 O1 ?1 d$ s aa=sum(cc);) s# w8 b9 \) p* N5 @
Xm(j)=abs(aa/N); %%此处修改了!%%%
1 ]" P5 B* @( L: O) L* ?end
b: |7 A$ ]# D% W9 S2 q& jt=(1:N)*ll;
, f$ Q' S& o7 c( d7 |2 [figure(1)
( V7 V# e4 Z7 b i, cplot(t,Xm)
/ q d8 @& T% rL=length(Xm);% F$ n4 ?$ q1 a3 ^: k- Z+ f
nfft=2^nextpow2(round(length(Xm)/4));
; [& C- k; z3 `+ r6 ?2 n: b9 Z( }window=chebwin(nfft);
: B# @- W3 b& K0 b T1 y9 \" m$ Uoverlap=round(length(Xm)/8);
7 v5 G! k4 V( N& l8 c" S$ s2 ons=ceil(N/L);9 `6 c% r; J0 M
[pxx,f] = pwelch(Xm,window,overlap,nfft,ns,'oneside');2 J& d# j# g+ B; P6 z
figure(2)' M* h7 E: X6 N5 J4 N
plot(log10(f),log10(pxx)) |
|