• 点散射方法进行混响仿真,信号为单频信号,散射体高斯分布,无多普勒频域


    clc;close all;clear all;

    %点散射方法进行混响仿真,信号为单频信号,散射体高斯分布,无多普勒频域

    M=100;   %阵元数

    N=1000;

    deltar=1;   %每次扫描的角度

    deltasita=1;      

    p=(deltar)*(deltasita)/(2*pi);

    f0=25000;

    fs=150000;

    c=1500;

    T=0.02;

    t=0:1/fs:T;  %信号持续时间  %1*3001

    x=exp(j*2*pi*f0.*t);  %单频信号

    r=zeros(M,N);

    sita=zeros(M,N);

    area=zeros(M,N);

    A=zeros(M,N);      %振幅 %大概是产生信号的代码,不太懂   

      for kk=1:N   %N=1000           %背景噪声处理之类的程序?        

    r(1,kk)=p*exprnd(1); %exprnd函数,生成服从指数分布的随机数%只有第一行有数据,其余地方没有数据        

    sita(1,kk)=2*pi*rand(1);        

    %R(1,,ii)=[r(1,ii)*cos(sita(1,ii)),r(1,ii)*sin(sita(1,ii)),1]        

    area(1,kk)=2*pi*p*r(1,kk);        

    A(1,kk)=sqrt(area(1,kk))*abs(randn(1));    

    end    

    %处理2-100行数据    

    for k=2:M     %100       

      for kk=1:N          %1000            

    r(k,kk)=r(k-1,kk)+p*exprnd(1);  %把上一行的加过来 100*1000        

         sita(k,kk)=2*pi*rand(1);            

    area(k,kk)=2*pi*p*r(k,kk);            

    A(k,kk)=sqrt(area(k,kk))*abs(randn(1));        

    end    

    end    

    figure;plot(A);   %A是振幅,100*1000

    %===============================================  

       tao=2*r./c;      %过去再回来的时间 100%1000    

    m=1;    

    %n=1,nn=1000,t1:1*21;n=2,nn=1000,t1:1*35....n=100,nn=1000,t1:1*3884     %tao一直在变    

    for n=1:M        %100       

      for nn=1:N       %1000           

      t1=0:1/fs:tao(n,nn);    %tao是一百行,一千列,行代表阵元数,列代表采样一千个点 1*3436           

      s1=0*t1;           

      t2=tao(n,nn)+1/fs:1/fs:T+tao(n,nn);            

    s2=A(n,nn)*exp(j*2*pi*f0.*(t2-tao(n,nn)));         

        s=[s1,s2];            

    L(m)=length(s);            

    m=m+1;                   

    end    

    end       

      L_max=max(L);  

       r=zeros(1,L_max);   

      for n=1:M     

        for nn=1:N         

        t1=0:1/fs:tao(n,nn);         

        g1=0*t1;            

    t2=tao(n,nn)+1/fs:1/fs:T+tao(n,nn);       

          g2=A(n,nn)*exp(j*2*pi*f0.*(t2-tao(n,nn)));      

           g3=zeros(1,L_max-length(t1)-length(t2));         

        g=[g1,g2,g3];    

             r=r+g;                       

            end    

    end

        figure;  

       t3=0:1/fs:(L_max-1)/fs;

        plot(t3,r);        

  • 相关阅读:
    【转】java的string中,关于split空串总会返回单个元素的数组
    【转】Java实现将文件或者文件夹压缩成zip
    单例模式
    数据库隔离级别
    ckeditor+ckfinder
    extremecomponents
    在linux环境下重启oracle数据库,解决密码过期的问题
    20180918 begin
    hadoop免登录
    CentOS环境下通过YUM安装软件,搭建lnmp环境
  • 原文地址:https://www.cnblogs.com/kiki--xiunai/p/10778599.html
Copyright © 2020-2023  润新知