Vivado HLS C 实现无乘法相关器

使用Vivado HLS C 实现无乘法相关器

实验要求

V i v a d o   H L S   C Vivado \ HLS \ C Vivado HLS C 流程实现流处理方式的相关器

  • 相关序列是 m 序列
  • 输入信号为相关序列和热噪声之和是周期性的
  • 要求估计输入信号的信噪比

实验原理

数字域的相关器公式如下
r x y ( τ ) = ∑ n = 0 N − 1 x ( n − τ ) y ( n ) = ∑ n = 0 N − 1 x ( n ) y ( n + τ ) r_{xy}(\tau) = \sum_{n=0}^{N-1} x(n-\tau)y(n) = \sum_{n=0}^{N-1} x(n)y(n+\tau) rxy(τ)=n=0N1x(nτ)y(n)=n=0N1x(n)y(n+τ)

  • 互相关就是两个函数之间的相似性,当两个函数都具有相同周期的分量的时候,它的极大值同样能体现这种周期性的分量。
  • 相关运算从线性空间的角度看其实是内积运算,而两个向量的内积在线性空间中表示一个向量向另一个向量的投影,表示两个向量的相似程度。

实验步骤

滑动相关(匹配滤波)在信号处理领域用途广泛。大多数相关器操作需要引入乘法,对于以m序列为基础的滤波器,由于只有有限数据维度且信号绝对值为1,故可以采用逻辑运算代替乘法运算,节省系统资源。

int c[N] =
{
		1,-1,-1,-1,-1,-1,-1,1,
		-1,-1,-1,-1,-1,1,1,-1,
		-1,-1,-1,1,-1,1,-1,-1,
		-1,1,1,1,1,-1,-1,1,-1,
		-1,-1,1,-1,1,1,-1,-1,
		1,1,1,-1,1,-1,1,-1,
		-1,1,1,1,1,1,-1,1,
		-1,-1,-1,-1,1,1,1,-1,
		-1,-1,1,-1,-1,1,-1,-1,
		1,1,-1,1,1,-1,1,-1,1,
		1,-1,1,1,1,1,-1,1,1,
		-1,-1,-1,1,1,-1,1,-1,
		-1,1,-1,1,1,1,-1,1,1,
		1,-1,-1,1,1,-1,-1,1,
		-1,1,-1,1,-1,1,1,1,1,1,1
};

在高层代码中的对应片段如下

/*-----------Multiply-----------*/
/*      mult_v=data*c[i];       */
/*-----------Multiply-----------*/
if (c[i]==1){
    mult_v=data;
   }
else{
    mult_v=-data;
    }
acc+=mult_v;

将 HLS C 产生的 IP导入sysgen并配合以信号源,搭建如下电路图
system generator

实验结果

采取m序列周期的10倍(即1270个样点进行仿真),得到相关器输出波形如下

在这里插入图片描述
可见该输出每隔大致127即一个周期便有一个峰值,这是流处理带来的滑动相关(匹配滤波)的结果,随后将该数据导入matlab利用峰均比近似对SNR进行计算即可

P A P R { s ~ ( t ) } = m a x ∣ R e ( s ~ ( t ) e j 2 π f c t ) ∣ 2 E { ∣ R e ( s ~ ( t ) e j 2 π f c t ) ∣ 2 } = m a x ∣ s ( t ) ∣ 2 E { ∣ s ( t ) ∣ 2 } PAPR\{\tilde{s}(t)\}=\dfrac{max{|Re(\tilde{s}(t)e^{j2\pi f_ct})|}^2}{E\{{|Re(\tilde{s}(t)e^{j2\pi f_ct})|}^2\}}=\dfrac{{max|s(t)|}^2}{E\{{|s(t)|}^2\}} PAPR{s~(t)}=E{Re(s~(t)ej2πfct)2}maxRe(s~(t)ej2πfct)2=E{s(t)2}maxs(t)2

有想要了解Vivado各个流程实现的朋友可以参考本链接

首次写博文,如有不当之处也请各位批评指正!

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值