matlab采样频率怎么编程,关于频率和采样频率

num=xlsread('C:\Users\GJC\Desktop\zhuang93 1500.xlsx');

ddd=num(:,1);

y1=num(:,2);y2=num(:,3);y3=num(:,4);y4=num(:,5);

y5=num(:,6);y6=num(:,7);y7=num(:,8);y8=num(:,9);

L=length(y1);

N = 2^nextpow2(L);

Fs=100000;T=1/Fs;t=(0:L-1)*T;               %L=2048 Fs=25000频率范围比较恰当,但是结果不好

% T=L*10/1000;Fs=1/T;

f = Fs/N*(0:1:N-1); %频率(和采样频率不一样!!!!)

%f =2000+4*(0:N-1);

Y1 = fft(y1,N)/N*2;Y2 = fft(y2,N)/N*2;Y3 = fft(y3,N)/N*2;Y4 = fft(y4,N)/N*2;...

Y5 = fft(y5,N)/N*2;Y6 = fft(y6,N)/N*2;Y7 = fft(y7,N)/N*2;Y8 = fft(y8,N)/N*2;

A1 = abs(Y1); A2 = abs(Y2);A3 = abs(Y3);A4 = abs(Y4);A5 = abs(Y5);A6 = abs(Y6);A7 = abs(Y7);A8 = abs(Y8);

P1 = angle(Y1); P2 = angle(Y2);P3 = angle(Y3);P4 = angle(Y4);P5 = angle(Y5);P6 = angle(Y6);P7 = angle(Y7);P8 = angle(Y8);

szb =40:0.5:300;

num_szb=length(szb);

N = 2^nextpow2(L); %采样点数,采样点数越大,分辨的频率越精确,N>=L,超出的部分信号补为0

omega=2*pi*f;

z1=zeros(L,num_szb);z2=zeros(L,num_szb);z3=zeros(L,num_szb);

z4=zeros(L,num_szb);z5=zeros(L,num_szb);z6=zeros(L,num_szb);

z7=zeros(L,num_szb);z8=zeros(L,num_szb);

h1=diag(Y1');h2=diag(Y2');h3=diag(Y3');h4=diag(Y4');

h5=diag(Y5');h6=diag(Y6');h7=diag(Y7');h8=diag(Y8');

X1=zeros(L,num_szb);X2=zeros(L,num_szb);X3=zeros(L,num_szb);

X4=zeros(L,num_szb);X5=zeros(L,num_szb);X6=zeros(L,num_szb);

X7=zeros(L,num_szb);X8=zeros(L,num_szb);

X1ge=zeros(L,num_szb);X2ge=zeros(L,num_szb);X3ge=zeros(L,num_szb);

X4ge=zeros(L,num_szb);X5ge=zeros(L,num_szb);X6ge=zeros(L,num_szb);

X7ge=zeros(L,num_szb);X8ge=zeros(L,num_szb);

Fws=zeros(L,num_szb);rou=zeros(L,num_szb);

%%%%%%%%%%%%%%%%%%=======赋值========%%%%%%%%%%%%%%%%%%%%%l

for ka=1:L;                        %对每一个频率寻找最优的慢度

for kb = 1:num_szb;

z1(ka,kb)=exp(-i*omega(ka)*szb(kb)*(1-1)*0.5);z2(ka,kb)=exp(-i*omega(ka)*szb(kb)*(2-1)*0.5);  %0.1524好像不行,这个间距

z3(ka,kb)=exp(-i*omega(ka)*szb(kb)*(3-1)*0.5);z4(ka,kb)=exp(-i*omega(ka)*szb(kb)*(4-1)*0.5);

z5(ka,kb)=exp(-i*omega(ka)*szb(kb)*(5-1)*0.5);z6(ka,kb)=exp(-i*omega(ka)*szb(kb)*(6-1)*0.5);

z7(ka,kb)=exp(-i*omega(ka)*szb(kb)*(7-1)*0.5);z8(ka,kb)=exp(-i*omega(ka)*szb(kb)*(8-1)*0.5);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%======各个接收器的频谱Xn======%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

X1(ka,kb)=h1(ka,ka);X2(ka,kb)=h2(ka,ka);X3(ka,kb)=h3(ka,ka);X4(ka,kb)=h4(ka,ka);  %%  有问题,矩阵的维度不一样   将diag(A1')等从单行矩阵变为对角方阵    这里是否恰当

X5(ka,kb)=h5(ka,ka);X6(ka,kb)=h6(ka,ka);X7(ka,kb)=h7(ka,ka);X8(ka,kb)=h8(ka,ka);  %%

X1ge(ka,kb)=conj(X1(ka,kb));X2ge(ka,kb)=conj(X2(ka,kb));X3ge(ka,kb)=conj(X3(ka,kb));X4ge(ka,kb)=conj(X4(ka,kb));

X5ge(ka,kb)=conj(X5(ka,kb));X6ge(ka,kb)=conj(X6(ka,kb));X7ge(ka,kb)=conj(X7(ka,kb));X8ge(ka,kb)=conj(X8(ka,kb));

rou(ka,kb)=abs(X1ge(ka,kb)*z1(ka,kb)+X2ge(ka,kb)*z2(ka,kb)+X3ge(ka,kb)*z3(ka,kb)+X4ge(ka,kb)*z4(ka,kb)...

+X5ge(ka,kb)*z5(ka,kb)*+X6ge(ka,kb)*z6(ka,kb)+X7ge(ka,kb)*z7(ka,kb)+X8ge(ka,kb)*z8(ka,kb))/...

(8*(X1(ka,kb)*X1ge(ka,kb)+X2(ka,kb)*X2ge(ka,kb)+X3(ka,kb)*X3ge(ka,kb)+X4(ka,kb)*X4ge(ka,kb)+X5(ka,kb)*X5ge(ka,kb)+X6(ka,kb)*X6ge(ka,kb)+...

X7(ka,kb)*X7ge(ka,kb)+X8(ka,kb)*X8ge(ka,kb)))^0.5;

%%%%%%%%%%%%%%%%%%%%%%%%找出慢度sk 这个循环还是有问题,要找到Fws的最大值,要使得声波慢度循环起来!

if (ka+2)<=L

if(ka-2)>=1

Fws(ka,kb)=exp(-(omega(ka)-omega(ka-2))/2*((omega(ka)-omega(ka-1))^2))* rou(ka-2,kb)+exp(-(omega(ka)-omega(ka-1))/2*((omega(ka)-omega(ka-1))^2))* rou(ka-1,kb)...

+exp(-(omega(ka)-omega(ka))/2*((omega(ka)-omega(ka-1))^2))* rou(ka,kb)+exp(-(omega(ka+1)-omega(ka))/2*((omega(ka)-omega(ka-1))^2))* rou(ka+1,kb)+exp(-(omega(ka+2)-omega(ka))/2*((omega(ka)-omega(ka-1))^2))* rou(ka+2,kb);

else

Fws(ka,kb) = 5*1*rou(ka, kb);

end

else

Fws(ka,kb)=5*1* rou(ka,kb);

end

end

end

[bigrou,index]=max(Fws,[],2);

snb=szb(index);

plot(f(1:N/2),snb(1:N/2),'o')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值