当前位置: 首页 > wzjs >正文

江西网站定制公司苏州网上商城搭建

江西网站定制公司,苏州网上商城搭建,网站分析 工具,管理培训公司一、概述 本节我们讨论线性约束最小方差波束形成算法(Linearly constrained minimum variance,LCMV)波束形成算法,包括原理分析及代码实现。 更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。 …

一、概述

        本节我们讨论线性约束最小方差波束形成算法(Linearly constrained minimum variance,LCMV)波束形成算法,包括原理分析及代码实现。 更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。

二、原理分析

        1972年,L.Frost提出了线性约束最小方差(Linearly Coastrained Minimum Variance,LCMV)波束形成器。LCMV波束形成在效果上实际是MVDR波束形成的扩展形式,它将后者中期望信号不受影响的这一约束扩展为一组约束,即为目标方向无失真同时对其它噪声干扰方向陷零。随后L.Frost基于约束最小均方自适应滤波器提出了LCMV算法的自适应结构。

        原理:在满足一组约束的同时,使波束形成输出(干扰信号、噪声)的功率最小化。即

                                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​\begin{cases} \min_{w} w^{H}R_{x}w\\ \text{s.t. } C^{H}w = f \end{cases}

        其中,f=\begin{bmatrix}1\\0\\\vdots\\0\end{bmatrix}^T为Nx1的约束值向量,C = \begin{bmatrix}a(\theta_{01})&a(\theta_{02})&\cdots&a(\theta_{0N})\end{bmatrix}为MxN维的约束矩阵,\theta_{0n} ,n=1,2 ,... , N 为可能的期望信号方向。a(\theta_{0n}) 为对应的导向矢量。R_{x} = E\left[x(t)x^{H}(t)\right]表示输出协方差矩阵。

        通过拉格朗日乘数法,可以求解得到最终的权系数为

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        w = R_{x}^{-1}C\left(C^{H}R_{x}^{-1}C\right)^{-1}f

        当LCMV方法的约束条件取w^{H} a(\theta)=1时,演变为最小方差无失真响应波束形成器(MVDR,minimum variance distortionless-response)。也就是说MVDR算法是LCMV算法的一个特例。其原理是在阵列输出信号能量保持不变的约束条件下,通过调节权重系数使阵列信号输出总功率(相关功率与非相关功率之和)达到最小,由于目标信号的强度得以保持,而噪声的方差被最小化,可以说MVDR使阵列输出信号的信噪比(SNR)达到最大。

三、代码仿真

        

import numpy as np
import soundfile as sf
import scipy
import matplotlib.pyplot as pltfft_size = 256
freq_bin = 129def calculate_circular_array_steering_vector(angle, r=0.0463, N=6, fs=16000, fft_size=256, c=343):steering_vector = np.zeros((N, fft_size//2 + 1), dtype=complex)for f in range(int(fft_size/2+1)):for n in range(N):frequency = fs * f / fft_sizeif frequency == 0:phase_delay = 0steering_vector[n, f] = np.exp(1j * phase_delay)else:lambda_val = c / frequencytheta_mic = -2 * np.pi * n / N + 2 * np.pitheta_signal = np.pi * angle / 180phase_delay = 2 * np.pi * np.cos(theta_signal - theta_mic) * r / lambda_valsteering_vector[n, f] = np.exp(1j*phase_delay)return steering_vectordef calculate_circular_array_steering_vector_anticlockwise(angle, r=0.0463, N=6, fs=16000, fft_size=256, c=343):steering_vector = np.zeros((N, fft_size // 2 + 1), dtype=complex)for f in range(int(fft_size / 2 + 1)):for n in range(N):frequency = fs * f / fft_sizeif frequency == 0:phase_delay = 0steering_vector[n, f] = np.exp(1j * phase_delay)else:lambda_val = c / frequencytheta_mic = 2 * np.pi * n / Ntheta_signal = np.pi * angle / 180phase_delay = 2 * np.pi * np.cos(theta_signal - theta_mic) * r / lambda_valsteering_vector[n, f] = np.exp(1j * phase_delay)return steering_vectordef lcmv(C, d, Rxx, data):beamformer = np.zeros((6, freq_bin), dtype=complex)for i in range(freq_bin):C_i = np.reshape(C[i, :, :], (6, 2))w_mid = np.linalg.pinv(np.matmul(np.matmul(np.conjugate(C_i).transpose(), np.linalg.pinv(Rxx)), C_i)) # 2*6 * 6*6 * 6*2 = 2*2w_front = np.matmul(np.linalg.pinv(Rxx), C_i) # 6*6 * 6*2 = 6*2w = np.matmul(w_front, w_mid)  # 6*2 * 2*2 = 6*2w = np.matmul(w, d) # 6*2 * 2*1 = 6*1beamformer[:, i] = w.reshape(6,)data1 = np.multiply(np.conjugate(beamformer), data)data2 = np.sum(data1, axis=0) / 6return data2def main():# 读取WAV文件data, samplerate = sf.read('output/simulate_role1_0_t60_0.2_role2_180_t60_0.2.wav')# 定义帧长和帧移frame_length = int(samplerate * 0.016)  # 25ms帧长frame_step = int(samplerate * 0.008)  # 10ms帧移# 创建汉明窗hamming_window = scipy.signal.windows.hamming(frame_length)hamming_window = np.reshape(hamming_window, [frame_length, 1])sample_num = data.shape[0] - frame_length + 1# 手动分帧和加窗frames = []out1 = np.zeros(int(fft_size/2), dtype=float)#lcmvC = np.zeros((freq_bin, 6, 2), dtype=complex)d = np.reshape(np.array([1, 0]), (1, 2)).transpose()desire = calculate_circular_array_steering_vector(0)interf = calculate_circular_array_steering_vector(180)C[:, :, 0] = np.transpose(desire)C[:, :, 1] = np.transpose(interf)for i in range(0, sample_num, frame_step):frame = data[i:i + frame_length, :]windowed_frame = frame * hamming_windowfft_frame = np.fft.fft(windowed_frame, axis=0)fft_frame1 = np.transpose(fft_frame[:freq_bin, :])Rxx_frame_real = np.matmul(fft_frame1, np.conjugate(fft_frame1).transpose()) / 129 + 1e-6 * np.eye(6)fft_frame1 = lcmv(C, d, Rxx_frame_real, fft_frame1)fft_frame11 = fft_frame1fft_frame21 = np.concatenate((fft_frame11, fft_frame11[1:-1][::-1].conj()))fft_frame21 = np.transpose(fft_frame21)ifft_frame1 = np.fft.ifft(fft_frame21)short_data1 = ifft_frame1[:int(fft_size/2)] + out1out1 = ifft_frame1[int(fft_size/2):]frames.extend(short_data1)frames1 = np.array(frames).reshape((-1)).realsf.write("output/simulate_role1_0_t60_0.2_role2_180_t60_0.2_out_lcmv_t0_i180.wav", frames1, 16000)main()

四、结果展示

4.1 0度方向为期望信号,180度为干扰方向

4.2 180度方向为期望信号,0度方向为干扰方向

五、总结

        从结果看,由于多加了约束,LCMV效果比MVDR对干扰抑制效果要好不少。


文章转载自:

http://CQDMPqZK.tbjtp.cn
http://luWsI4ne.tbjtp.cn
http://zty51oSf.tbjtp.cn
http://aq0nhlfH.tbjtp.cn
http://CejloC67.tbjtp.cn
http://Zl39W2uO.tbjtp.cn
http://3piNG58X.tbjtp.cn
http://xv20MfSK.tbjtp.cn
http://wq03cive.tbjtp.cn
http://IsdOHNwX.tbjtp.cn
http://6t4Q4pHP.tbjtp.cn
http://D4zBLsVi.tbjtp.cn
http://1Lh7JAid.tbjtp.cn
http://3xrnKm2N.tbjtp.cn
http://bjyERhgD.tbjtp.cn
http://V7LQRScP.tbjtp.cn
http://DNRbRDRW.tbjtp.cn
http://yjGL14tI.tbjtp.cn
http://C44QUFfS.tbjtp.cn
http://jw8EAIpJ.tbjtp.cn
http://PDuPAebt.tbjtp.cn
http://cVXLvVO4.tbjtp.cn
http://acX730YF.tbjtp.cn
http://A0Q65Nw3.tbjtp.cn
http://yHncsLjm.tbjtp.cn
http://gWK5gCbN.tbjtp.cn
http://RsWg8wpz.tbjtp.cn
http://kWsVFCvv.tbjtp.cn
http://5vPmqtpt.tbjtp.cn
http://4XbdaA9P.tbjtp.cn
http://www.dtcms.com/wzjs/631165.html

相关文章:

  • 如何建立淘宝客网站怎么推广我的网站吗
  • 分销网站建设wordpress自适应方法
  • 网站让百度收录应该怎么做黑马程序员培训机构官网
  • 网站搭建多少钱徐州百都网络非常好WordPress链接点击次数统计
  • 常州 招网站开发wordpress 被镜像
  • 百度蜘蛛抓取网站wordpress 中文数据库
  • 佛山网站建设公司有哪些?线上策划方案
  • 石家庄大型网站设计公司网页自动跳转
  • 邯郸网站建设效果如何推广自己的店铺
  • 建论坛网站需要多少空间网址没封的来一个
  • 石家庄建设银行河北分行招聘网站做网站设计师
  • 山东兴润建设集团网站专注服务于站长和网站的信息平台.
  • 做建材的哪些网站英语seo什么意思
  • 网站建设 美词成都市房产管理局官网
  • logo在线制作免费网站专业门头制作公司
  • 兰州网站排名公司网络营销与策划课程
  • 淮安网站建设公司电话wordpress手机发表文章
  • 展示型网站有哪些内容商务网站建设与维护补考试卷
  • 北京高端网站建设图片大全产品营销网站建设
  • 站长工具下载appwordpress 跳转特效
  • 网站的视频做gif网站给假冒伪劣产品做推广
  • 怎样建设凡科网站网络综合布线设计图
  • 网站建设与网页设计大作业青岛网站关键字优化
  • 网站建设的目标有哪些wordpress短信验证插件
  • 郑州 网站开发简约网站设计
  • 黄岩做网站的公司it培训网站模板
  • 电子商务网站域名工商公示网
  • 网站开发 入门 pdf可信网站认证 代理商
  • 网站申请备案WordPress完整安裝包
  • 微信投票网站开发营销型网站建设讨论题