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

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);

原文地址:https://www.cnblogs.com/kiki--xiunai/p/10778599.html

时间: 2024-11-10 16:41:14

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

APUE学习笔记——10 信号(一)——信号介绍

信号的基本概念 信号是软件中断,信号提供了解决异步时间的方法. 每一中信号都有一个名字,信号名以SIG开头. 产生信号的几种方式 很多条件可以产生信号: 终端交互:用户按下某一些按键,如ctl+c,会产生信号. 硬件异常:如除数为0,内存引用错误.    kill(2)函数:将信号发送到一个进程或者进程组   kill(1)命令:该命令为kill(2)函数的接口.用于终止失控的后台in成.  检测到某软件条件发生:如网络连接上传来外数据(产生SIGURG信号),闹钟超时(产生SIGALRM信号)

信号中断与异步信号中断安全编程

1.什么是中断? 1.1.什么是中断 外围设备的速度远低于CPU的速度,所以为提高CPU计算效率,现代计算机变内核主动为硬件主动,只在硬件需要的时候才发送信号,通知内核来处理数据.这样外围设备与内核的协作方式即为中断机制.而设备发送的信号即为中断,其本质为一种特殊的电信号. 硬中断处理流程: 1.各外围设备与中断管理器各输入引脚相连: 2.中断管理器与CPU之间只存在一条中断管线: 3.设备发送一个中断到中断管理器: 4.中断管理器发送对应电信号给CPU. 5.CPU中断当前工作,开始处理中断,

信号的屏蔽,信号集

1.信号集 POSIX标准定义了数据类型sigset_t #include <signal.h> int sigemptyset(sigset_t *set); 初始化一个信号集,使其不包括任何信号 int sigfillset(sigset_t *set); 用来初始化一个信号集,使其包括所有信号 int sigaddset(sigset_t *set, int signum); 用来向set指定的信号集中添加由signum指定的信号 int sigdelset(sigset_t *set,

(原) 信号(上)------信号的基本概念

一.信号的介绍 信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式.但是信号和中断还是有所区别的,主要的区别体现在: (1):中断有优先级,信号没有,所有的信号都是平等的: (2):中断处理程序是在内核态运行,而信号处理程序是在用户态运行: (3):中断响应是及时的,而信号响应则有较大的延时. 二.信号的产生 (1):用户在终端按下某些键时,终端驱动程序会发送信号给前台进程,例如ctr+c产生SIGINT,  ctr + \产生SIGQUIT信号: (2):硬件异常产生信号,这些条件由硬

单端信号与差分信号(转)

单端信号早期的数字总线大部分使用单端信号做信号传输,如TTL/CMOS信号都是单端信号.所谓单端信号,是指用一根信号线的高低电平的变化来进行0.1信息的传输,这个电平的高低变化是相对于其公共的参考地平面的.单端信号由于结构简单,可以用简单的晶体管电路实现,而且集成度高.功耗低,因此在数字电路中得到最广泛的应用.下图是个单端信号的传输模型. 当信号传输速率更高时,为了减小信号的跳变时间和功耗,信号的幅度一般都会相应减小.比如以前大量使用的5V的TTL信号现在使用越来越少,更多使用的是3.3V/2.

Linux信号实践(4) --可靠信号

Sigaction #include <signal.h> int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 功能: sigaction函数用于改变进程接收到特定信号后的行为. 参数 第一个参数为信号的值,可以为除SIGKILL及SIGSTOP外的任何一个特定有效的信号(为这两个信号定义自己的处理函数,将导致信号安装错误) 第二个参数是指向结构sigaction的指针,在结构 si

Linux信号实践(1) --Linux信号编程概述

中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -> CPU(查询中断向量表, 找到中断服务程序的入口地址)执行中断处理程序 ->(处理完中断之后) ->恢复现场,继续执行原来的任务 中断分类 硬件中断(外部中断) 外部中断是指由外部设备通过硬件请求的方式产生的中断,也称为硬件中断 软件中断(内部中断) 内部中断是由CPU运行程序错误或执行内部

LTE下行参考信号和上行参考信号有哪些 MBSFN 参考信号是什么

LTE下行参考信号和上行参考信号有哪些 在R9中,下行定义了四种参考信号,分别为分别为小区专用参考信号(C-RS),用户专用参考信号(UE-RS,又称DM-RS),MBSFN参考信号,位置参考信号(P-RS).在R10中,下行定义了五种参考信号,分别为小区专用参考信号(C-RS),用户专用参考信号(UE-RS,又称DM-RS),MBSFN参考信号,位置参考信号(P-RS),以及CSI参考信号(CSI-RS).TE上行采用单载波FDMA技术,参考信号和数据是采用TDM方式复用在一起的.上行参考信号

Linux环境编程之信号(三):一些信号函数

(一)kill和raise函数 kill函数将信号发送给进程或进程组.raise函数则允许进程自身发送信号. #include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); int raise(int  signo);  //返回值:若成功则返回0,若出错则返回-1. 参数:pid参数有4种情况:1.pid > 0 将信号发送给进程为pid的进程.2.pid == 0 将该信号发送给与发送进程属