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

优秀企业门户网站建设站长域名查询工具

优秀企业门户网站建设,站长域名查询工具,最新军事新闻视频在线观看,建设机械网站方案设计一、概述 本节对delay sub算法进行仿真。更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。 二、代码仿真 import numpy as np import soundfile as sf import scipy import matplotlib.pyplot as pltfft…

一、概述

        本节对delay sub算法进行仿真。更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。

二、代码仿真

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 delay_sub(a, data):data1 = np.multiply(np.conjugate(a), data)data2 = np.sum(data1, axis=0) / 6result = np.zeros((freq_bin,), dtype=complex)for i in range(freq_bin):data_i = data1[:, i]data_ds = data2[i]for ch in range(5):result[i] += data_i[ch+1] - data_i[ch]result[i] /= 5return resultdef 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 + 1HH = calculate_circular_array_steering_vector(180)# 手动分帧和加窗frames = []out1 = np.zeros(int(fft_size/2), dtype=float)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, :])fft_frame1 = delay_sub(HH, fft_frame1)#1micfft_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_delaysub_t0.wav", frames1, 16000)main()

三、结果展示

3.1 0度为干扰方向

3.2 180度为干扰方向

四、总结

        从结果上看,使用delay sub明显比使用delay sum对噪声的抑制效果要好。

http://www.dtcms.com/wzjs/239096.html

相关文章:

  • 用dedecms 做门户网站百度推广优化工具
  • 怎么在jsp网站做验证码色目人
  • 银川网站建设nx110网站建设图片
  • 网站建设域名怎么用什么是seo搜索引擎优化
  • 美食网站网页设计论坛seo教程
  • 苹果cms做的影视网站百度网盟
  • 网站建设报价表格今天实时热搜榜排名
  • 公司网站的宣传栏怎么做360应用商店
  • 中国建设银行理财网站发布新闻
  • 网站类型是什么意思衡阳seo优化
  • 网页版qq在线聊天官网seo整站优化外包公司
  • 嘉兴企业网站推广百度seo培训要多少钱
  • 医院诊所响应式网站模板百度地图收录提交入口
  • 网站推广优化的公司苏州seo门户网
  • 动态网站建设实训总结东莞网站建设推广平台
  • 大气医院网站源码做销售找客户渠道
  • 做音乐网站怎么放音乐网络营销课程培训机构
  • 做民宿推广都有哪些网站搜索引擎排名优化是什么意思
  • 传统网站建设 成本公司网站如何seo
  • 响应式网站怎么做如何快速推广网上国网
  • 网络科技公司骗术seo助手
  • 网站制作建设抖音推广运营公司
  • 做网页建网站挣钱app推广引流
  • 电子商务网站开发期末考试ks免费刷粉网站推广马上刷
  • 做php网站会员开店代码如何编写现在做网络推广都有什么方式
  • b2c电商是什么意思商丘 峰少 seo博客
  • 专业商城网站制作公司找关键词的方法与技巧
  • 广告设计和平面设计有什么区别浙江seo外包
  • 做家教在哪个网站找登封搜索引擎优化
  • 网站管理助手ftp按效果付费的推广