/*******************************************************
<span style="font-size:18px;">* Copyright (c) 2016.6.19
* 算法的改进:主要解决了两个for循环的问题
*第一个for是角度的问题,循环360个角度或者更小来得到每个角度的
*输出功率。
*第二个for循环是通道的问题,目前是8通道,对于arrarfire来讲这个很好做
*直接生成1行8列的矩阵
* 核心在于第一版本需要用for循环角度,现在的改变是将角度做成360行1列的矩阵
*直接与通道矩阵相乘,变成360行8列的新矩阵a_s,此时注意求功率谱时候a_s*R*a_sT
*变成了360*360的矩阵,此时只有对角线上的360个点有用,对应360个循环,虽然在矩阵乘法
*上量有所增加,但是从根本上解决了并行问题,初步简单(没有其他常数和复数)
*测试 速度比之前提升至少100倍,并且arrafire具有很好的稳定性,顺便推广一下。
**此处只是思想,代码指示简单测试**</span>
********************************************************/
#include <arrayfire.h>
#include <cstdio>
#include <cstdlib>
#include<vector>
using namespace af;
std:: vector<float> vecl;
int main(int argc, char *argv[])
{
try {
// Select a device and display arrayfire info
int de
CBF中for循环变矩阵乘法的思想(arrayfire)
最新推荐文章于 2023-01-10 10:44:46 发布