matlab虚数相乘,一个很简单的关于虚数相乘的问题
因为某些原因把
I2((mm-1)*M2+nn)=exp(j*2*pi*(mm-1)*d*sin(ThetaJ2)*cos(PhiJ2)/lamda)*exp(j*2*pi*(nn-1)*d*sin(ThetaJ2)*sin(PhiJ2)/lamda);
改写成了
I2((mm-1)*M2+nn)=exp(j*(2*pi*(mm-1)*d*sin(ThetaJ2)*cos(PhiJ2)/lamda+2*pi*(nn-1)*d*sin(ThetaJ2)*sin(PhiJ2)/lamda));
基本就是exp(ja)*exp(jb)=exp(j*(a+b))这么简单的改动,但是报错了,想不通哪里错了(本想这样改写成C语言的时候简单些)
全部代码是这样的:
clc
clear all
close all
% close all
freqs=1.268e9; %工作频率
c=3e8; %光速
lamda=c/freqs; %波长
d=0.5*lamda; %单元间距
M1=2;
M2=2;
M=M1*M2; %天线阵元数
N=9; %时延步长
pd=32; %快拍数
pdd = 1024;
%% digital parameter
fs=62e6; %采样频率
fc=15.48e6;
h = fir1(32,20e6/fs);
h = conv(h,h);
%%
ThetaJ2=30*pi/180; %干扰方向
PhiJ2=40*pi/180;
freqJ2=5e5; %第1个干扰的频率
J2NR=60;
AJ2=sqrt(10^(J2NR/10));
Jam2one=AJ2*exp(j*(2*pi*freqJ2*(1:1:pdd)/fs));
% %------------------------------------------第一个干扰模型的建立--------------------
ThetaJ1=60*pi/180; %干扰方向
PhiJ1=70*pi/180;
freqJ1=15e5; %第2个干扰的频率
J1NR=60;
AJ1=sqrt(10^(J1NR/10));
Jam1one=AJ1*exp(j*(2*pi*freqJ1*(1:1:pdd)/fs));
I2=zeros(M,1);
I1=zeros(M,1);
%--------------------------------------方阵---------------------------------
for mm=1:M1
for nn=1:M2
I2((mm-1)*M2+nn)=exp(j*2*pi*(mm-1)*d*sin(ThetaJ2)*cos(PhiJ2)/lamda)*exp(j*2*pi*(nn-1)*d*sin(ThetaJ2)*sin(PhiJ2)/lamda);
I1((mm-1)*M2+nn)=exp(j*2*pi*(mm-1)*d*sin(ThetaJ1)*cos(PhiJ1)/lamda)*exp(j*2*pi*(nn-1)*d*sin(ThetaJ1)*sin(PhiJ1)/lamda);
end
end
Jam2=I2*Jam2one;
Jam1=I1*Jam1one;
JAM2=Jam2.';
JAM1=Jam1.';
% JAM4=Jam4.';
%
% %------------------------------------------产生噪声-------------------------
noise=sqrt(1/2)*randn(pdd,M)+j*sqrt(1/2)*randn(pdd,M);
% %------------------------------------------产生接收信号-------------------------
%%
Receive=JAM1+JAM2+noise;
% Receive=JAM1+noise;
Rbak = Receive(1:32,:);
ddcen = 1;
if(ddcen==1)
%
Receive = conj(Receive');
R1 = Receive(1,:);
R2 = Receive(2,:);
R3 = Receive(3,:);
R4 = Receive(4,:);
NN = length(R1);
nn = 0:1:NN-1;
coho = exp(1i*2*pi*fc*nn/fs);
%%
IfR1 = real(R1.*coho);
IfR2 = real(R2.*coho);
IfR3 = real(R3.*coho);
IfR4 = real(R4.*coho);
coho = exp(-1i*2*pi*fc*nn/fs);
% IfR1 = R1.*coho;
% IfR2 = R2.*coho;
% IfR3 = R3.*coho;
% IfR4 = R4.*coho;
%% ddc
IfR1 = coho.*IfR1;
IfR2 = coho.*IfR2;
IfR3 = coho.*IfR3;
IfR4 = coho.*IfR4;
%% 滤波
S1 = conv(IfR1,h);
S2 = conv(IfR2,h);
S3 = conv(IfR3,h);
S4 = conv(IfR4,h);
%%
S1 = S1(257:320);
S2 = S2(257:320);
S3 = S3(257:320);
S4 = S4(257:320);
Receive = [S1;S2;S3;S4];
Receive = conj(Receive');
% Receive = reshape(Receive,1,size(Receive,1)*size(Receive,2));
end
% 功率倒置 %
%------------------------------------------常规求最优权值方法-------------------------
% tic;
RR=zeros(M,M);
RR=((Receive.')*(Receive.')')/pd;
R_R=Receive(:,1)+Receive(:,2)+Receive(:,3)+Receive(:,4);
y_w0=Receive.'*(Receive.')'/pd ; %未加权值前的输出
deta=[1,zeros(1,(M-1))].';
wopt=inv(RR)*deta*inv(deta'*inv(RR)*deta) %功率倒置
% wopt_fi = floor(wopt/max(abs(wopt))*(2^(BW-1)));
%------------------------------------------画二维方向图----------------------
cida=-pi/2:pi/180:pi/2;
phi=-pi/2:pi/180:pi/2;
ff=10e6:0.05e6:20e6;
for jj=1:1:length(cida) %空间角度扫描
for gg=1:1:length(phi)
w_s_scan=zeros(M,1);
sss=cida(jj);
ttt=phi(gg);
for mm=1:1:M1
for nn=1:1:M2
w_s_scan((mm-1)*M2+nn)=exp(j*2*pi*(mm-1)*d*sin(sss)*cos(ttt)/lamda)*exp(j*2*pi*(nn-1)*d*sin(sss)*sin(ttt)/lamda);
end %空间导向矢量 1*M
end
F2(jj,gg)=abs(wopt'*w_s_scan); %阵列方向图
end
end
Fmax2=max(max(F2));
Fa2=F2./Fmax2;
Fa2=20*log10(Fa2);
figure(1);
mesh(180*cida/pi,180*phi/pi,Fa2.');
% title('空域功率倒置');
ylabel('Phi方向');
xlabel('Theta方向');
zlabel('增益(dB)');
grid on;
matlab虚数相乘,一个很简单的关于虚数相乘的问题相关推荐
- 一个很简单的淘宝优惠券搜索助手 大家看看有没有用吧
一个很简单的淘宝优惠券搜索助手 大家看看有没有用吧 下载地址:http://pan.baidu.com/s/1skRHTDF 转载于:https://www.cnblogs.com/devgis/p/ ...
- 一个很简单的淘宝优惠券搜索助手 大家看看有没有用吧 下载地址:http://pan.baidu.com/s/1skRHTDF
一个很简单的淘宝优惠券搜索助手 大家看看有没有用吧 下载地址:http://pan.baidu.com/s/1skRHTDF
- 一个很简单的基于栈式过程虚拟机的实现,它运行目标平台【x86】的原生代码。
本文提供的 "栈式过程虚拟机" 的实现,挂在本人的 github 上面,对想要深入了解 "栈式过程虚拟机" 的人,它或许可以起到一个不错的作用,但是本人建议一般 ...
- python写一个很简单的Atm机系统,使用pickle模块和json模块来保存数据
我做的是一个很简单的Atm系统,很多都没约束条件 目的: 用面向对象思维来处理 运用文件的读写 文件的读写用pickle模块和json模块来处理 pickle模块: pickle模块处理数据功能很强大 ...
- html案例:模拟一个很简单的聊天框
html案例:模拟一个很简单的聊天框 实现的代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "htt ...
- 64位游戏找call_网络小游戏怎么修改技能满级,满血?教大家一个很简单的修改方法!...
最近去忙着给小弟培训,都忘记上来发文章了,刚好小弟找了个小游戏练练逆向数据分析,下面就给大家讲讲他是怎么做到修改数据后,达到无限满血,全技能升级完的. 首先介绍几个概念: 网络游戏的变态功能的一般实现 ...
- 一个很简单的问题:遍历int数组并删掉所有偶数
一开始想的很简单,使用for循环和if判断进行遍历,如果是偶数则remove.后来发现和arraylist记混了,数组删除的话必须依次向前移一位,然后去掉最后一位. int[] line = {1,2 ...
- 一个很简单的淡入淡出相册 (转)
不知题目是否妥当,总之就是在相册中使用fade效果,让图片切换变得非常自然舒服. 1.<div id="album"> 2. <img src="ht ...
- 简单php会员注册代码,用PHP实现一个很简单的,会员登记系统
最近很忙没什么东西可写,之前找了点时间自己研究了一下php,但是离精通还有很远的距离啊.但是还是参考网上一些代码,自己做了一个简单的会员登记系统,主要是用于社团之类的登记人数,增删改查这四个基本要素只 ...
最新文章
- axure中图表背影_Axure 教程:动态图表——排名图
- VTK 7.0 安装中内存读取冲突 no override found for “.. 解决记录
- 关于正则表达式,我所知道的都在这里
- 表单中去掉重置和提交按钮和搜索框
- 美利财务平台数据库架构进阶
- Java多线程、主线程等待所有子线程执行完毕、共享资源
- 创建一个JFrame,可下拉选择显示字符串和图片
- Linux 下配置多机实时同步
- 用“压缩映射”原理证明数列收敛
- java watir_基于Ruby的watir-webdriver自动化测试方案与实施(一)
- 微信公众号网页授权流程
- 企业如何搭建内部知识库Wiki?为什么需要知识库?
- storm风暴英雄 tempo_《绝地求生》Tempo Storm北美黑马,掌控战场
- Unity 制作简单的任务动画
- [数据科学]000.我为什么当数据科学家
- 百度地图api实现的定位,导航,附近搜索
- 泰拉瑞亚pc版最新服务器,服务端工具 - Terraria1.4.0.5-RPG开服端v0.2 | Terraria(泰拉瑞亚)中文论坛...
- Montreal Forced Aligner (MFA)基础使用教程
- php实训报告英文摘要,English Abstract _和大家分享下如何写英文摘要
- MSN登陆不上去的解决方法
热门文章
- 秦九韶算法-c语言实现(数值分析)
- 是德频谱仪N9020A维修报错维修-安泰维修
- .config文件和Menuconfig以及Makefile参考学习
- 在C++中实现foreach循环,比for_each更简洁!
- c语言实验一,c语言实验-实验一.doc
- 兼容Vista 赛门铁克公测新杀毒软件
- 冯诺依曼 计算机名言,约翰·冯·诺伊曼留给我们的名言之二
- 机器人:打开潘多拉魔盒
- java在记事本找不到_电脑中右键新建记事本选项不见了如何找回
- 【Axure视频教程】能播放音乐的音乐播放器