MATLAB 转置与共轭转置、在legend中输入数字、求频偏的小收获

最近做一个老师给的小活,有一些代码上的易错点或者小收获,记录下来。

  1. MATLAB里共轭转置与转置
a = [1+1j,2+2j];
a'= [1-1j;2-2j];   % ' 表示求共轭转置
a.'= [1+1j;2+2j];  % .' 表示求转置

(这个问题已经错了两次了,事不过三啊qaq

因此,再求信号功率时,可以用如下代码:

sigPow = sig*sig';  % sig是行向量

而不是

sigPow = sig*sig.';  % sig是行向量
  1. lengend 中加入运行产生的数据
    在仿真中,偶尔需要产生很多不同参数不同的数据,参数指需要改变的变量,比如多径瑞利信道和AWGN信道,频偏序列的长度等。在画图时,我希望图片上可以清楚地看到这是对应什么参数的图。此时,就需要用到legend。
    这里以最近的仿真代码为例:
%%  画图
    seq_type = 'ZC';
    file_name = ['CFOest' '_ ' seq_type '.dat'];
    a = load(file_name);
    b = a(:,6);
    c = b(1);                 % 文件中此列的第一个数值,代表序列长度**
    
    plot(SNR_dB,b(2:end));
    xlabel('信噪比(in dB)');
    ylabel('最高频偏');
    legend([seq_type,num2str(c)]);

其中,c是一个数,我希望在图上显示这张图对应的是多长的ZC序列。数字是不能直接写在legend中的,需要借用num2str,用法如上图。

  1. 求频偏的代码如下:
cfo_est(n_iter) = angle(x_noise(nn).'*conj(x_noise(nn+Nlength(i))))*360/(2*pi);

在做仿真时,纠结过是否要在求自相关和之后先做平均再求角度。最后发现,是否求平均值不变。很有趣的结论。因为对于一个复数而言,是否乘以一个整数,并不影响它的角度(这是师姐告诉我的,师姐威武

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值