MATLAB之波束形成学习
2016-03-03 09:30
441 查看
MathWorks官网上有一个Phased Array System Toolbox: http://cn.mathworks.com/help/phased/index.html其中有一项叫做Beamforming and Direction of Arrival Estimation: http://cn.mathworks.com/help/phased/beamforming-and-direction-finding.html子目录有Beamforming:http://cn.mathworks.com/help/phased/beamforming.html介绍了使用相控阵系统工具箱完成的常见的几种波束形成。以宽带波束形成器中最简单的自带相移波束形成为例
% Signal simulation
%创建一个阵列
ha = phased.ULA('NumElements',11,'ElementSpacing',0.3);
%phased.ULA是均匀线阵列,可设置参数有四个:
%NumElements——阵元数
%ElementSpacing——阵元间距
%Element——默认各向同性
%Taper——类似于某种加权,默认为1不加权
%关于ULA的说明: http://cn.mathworks.com/help/phased/ref/phased.ula-class.html[/code]%关于一些其他阵列Phased Array Gallery的说明:http://cn.mathworks.com/help/phased/examples/phased-array-gallery.html%设置频率范围ha.Element.FrequencyRange = [20 20000];%设置一些参数以供波束形成的函数调用fs = 1e3;carrierFreq = 2e3;t = (0:1/fs:2)'; x = chirp(t,0,2,fs); c = 1500; % Wave propagation speed (m/s)%宽带信号采集器phased.WidebandCollector%Sensor%PropagationSpeed%SampleRate%ModulatedInput%CarrierFrequency%WeightsInputPort%Wavefronthc = phased.WidebandCollector('Sensor',ha,...'PropagationSpeed',c,'SampleRate',fs,...'ModulatedInput',true,'CarrierFrequency',carrierFreq);incidentAngle = [10; 30];x = step(hc,x,incidentAngle);noise = 0.3*(randn(size(x)) + 1j*randn(size(x)));rx = x+noise;% Beamforming%SensorArray——阵列,默认为均匀线阵列%PropagationSpeed——信号传播速度,默认光速%OperatingFrequency——系统工作频率,默认3e8%SampleRate——采样率,默认1e6%NumSubbands——将频率分成多少个子带,默认64%DirectionSource——%Direction——波束指向,默认[0;0]%WeightsOutputPort——%SubbandsOutputPort——hbf = phased.SubbandPhaseShiftBeamformer('SensorArray',ha,...'Direction',incidentAngle,...'OperatingFrequency',carrierFreq,'PropagationSpeed',c,...'SampleRate',fs,'SubbandsOutputPort',true,...'WeightsOutputPort',true);[y,w,subbandfreq] = step(hbf,rx);% Plot signalsplot(t(1:300),real(rx(1:300,6)),'r:',t(1:300),real(y(1:300)));xlabel('Time'); ylabel('Amplitude');legend('Original','Beamformed');% Plot response pattern for five bandsfigure;plotResponse(ha,subbandfreq(1:5).',c,'Weights',w(:,1:5));legend('location','SouthEast')
相关文章推荐
- MATLAB一句总结
- 【转】matlab函数_连通区域
- Matlab矩阵计算
- Matlab中的小技巧
- matlab程序 使用mex和omp加速程序
- 关于libsvm工具箱在64位matlab下的安装说明
- 【高性能】Matlab的并行计算之spmd
- 【高性能】Matlab的并行计算之parfor
- c/c++调用matlab的dll
- Matlab中图像梯度的计算方式
- Matlab的曲线拟合工具箱CFtool使用简介及一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
- matlab文件读取和写入
- 用MATLAB对信号做频谱分析
- matlab V7.0 R14 安装教程
- scatter简单应用
- Matlab找最大连通区域
- Matlab小技巧
- matlab中的并行方法与理解(2):parfor中的变量类型
- MATLAB学习(一)——状态好状态坏,自作自受