TA的每日心情 | 开心 2022-1-24 15:10 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
感觉你的原始信号的生成有点问题,注意复数计算和for循环中i,j的使用,i,j当作复数单位是可以写成1i,1j,, f0 i; U* g* e
clear all% V2 t B" q" @4 h) Q$ O
clc0 d, ?( S& x$ J% z) d* j- s
n=0.0048;9 W+ E- w* e8 b& f4 j
Gxn0=262144;
* M8 B. H+ E8 m( [- `3 [N=5200;7 F, v2 w+ M$ B" z" _0 X$ T
ll=0.04;' t' x, @4 ]& E+ ?0 j/ H& R8 ?
for k=1:N/2
0 m) Z( O; u% B6 I6 Z) [ nk=k*n;
3 ^' U. _6 M4 }+ j: V2 Z" b Gx(k)=Gxn0*(nk/0.1)^(-2);0 C% P* p1 Z) c; ^' x# E
Xk(k)=sqrt(N*Gx(k)/2/ll);" B3 N/ U( ~0 i$ i
end
. k/ M# E6 D$ d5 MR=2*pi*rand(1,N/2);
( A0 p2 J8 v* i8 p" V3 _for k=1:N/2
( L. X W7 ~! W4 s8 D. K, p Xkf(k)=Xk(k)*exp(1i*R(k));+ z6 L0 X7 L- O- M3 t1 d4 I+ O, S
Xkf(N-k)=Xk(k)*exp(-1i*R(k));
- P/ B6 d& L+ I0 d! a S% U. [end3 y! q7 g4 g! A% z4 ]! c) z2 `
Xkf(N/2)=0;
5 c6 Z8 j) I6 a2 afor j=1:N5 s: X2 e( X, P+ ^
k=(1:1:N-1);* @' |" o/ u$ j( \1 D5 j0 @& }! F! [
bb=exp(1i*2*pi*k*(j-1)/N);
& p. Z7 I6 c; q' v. K cc=Xkf.*bb;
0 m8 s3 F* T& R, D4 E7 l u aa=sum(cc);: r. [, C: y& I- D$ h0 W4 _7 Z. w
Xm(j)=abs(aa/N); %%此处修改了!%%%
: S# Y- }2 P3 O0 C4 ~end( u. M1 |5 a$ i5 r# u. A
t=(1:N)*ll;
1 e. w$ h V+ k$ D4 v4 _. M; Efigure(1)" J: s# B0 ?7 \0 m- t
plot(t,Xm); L( V2 W S, d* O+ m- C4 ]' u
L=length(Xm);- p! V1 \! o6 W. F4 U7 b" }7 s
nfft=2^nextpow2(round(length(Xm)/4));
/ [1 R" ]: S# I: D8 G9 Gwindow=chebwin(nfft); ]2 T( `8 K2 m X
overlap=round(length(Xm)/8);# u& W* o9 H% M9 `9 x: S1 E
ns=ceil(N/L);
7 u2 g0 v8 K# U- w( U[pxx,f] = pwelch(Xm,window,overlap,nfft,ns,'oneside');2 b. t* e! k6 _0 r2 q
figure(2)
4 W E3 r) j' t' Z. q; Zplot(log10(f),log10(pxx)) |
|