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

有关做服装的网站吗网络管理系统官网

有关做服装的网站吗,网络管理系统官网,wordpress调用taxonomy,装修免费出效果图写在前面#xff1a; 低通滤波采用一般的FIR滤波器#xff0c;因为本次任务#xff0c;允许的延迟较多#xff0c;或者说前面损失的信号可以较多#xff0c;因此#xff0c;涉及一个很高阶的FIR滤波器#xff0c;信号起始段的信号点可以不处理#xff0c;以及#xf…写在前面 低通滤波采用一般的FIR滤波器因为本次任务允许的延迟较多或者说前面损失的信号可以较多因此涉及一个很高阶的FIR滤波器信号起始段的信号点可以不处理以及考虑延时当前时刻向前推一个时刻当前帧处理的最后一点的时刻之后的点当前帧也先不处理。 因为FIR也有延时经过稍加设计后这个延时和信号本身的延时差不多一致这样能将性能和延时兼顾。 简单来说信号采样率256延时2秒第2秒处理第0.5秒到1.5秒的数据下一秒即第3秒再处理1.5秒到2.5秒的数据。 设置滤波器长度为128。 对前2秒数据计算第0.5秒到1.5秒数据即第128点到384点为消除滤波延时滤波数据起始点设置在第128数据起点64滤波器半长 1193点易知此点前有192点远大于滤波器长的128点滤波数据终点在第38464448点也没取到最后的512点即首尾取点还有64点的盈余。 当然按照上述分析我们完全可以将滤波器长度设置为128*2即256此时则刚好将延时和数据点最大偏移用完即滤波数据起点为第1点终点为最后的512点。但是滤波器越长计算量越大。matlab看滤波路效果128阶的够用了。因此就用128阶的。 下面直接上代码了 C代码 Lowpass.h #pragma once #includestdint.hextern void Lowpass_init(); extern uint8_t Lowpass(int16_t* data_frame, int16_t* data_frame_out, int16_t SampleRate); Lowpass.c #includestdio.h #includestdlib.h #includestring.h #includestdint.h #include assert.h #define POINT_FRAME (256) // (SAMPLERATE*T_FRAME*T_FRAME)typedef struct {float DataBuf[2 * POINT_FRAME];float DataAfFir[POINT_FRAME (POINT_FRAME 1)];uint64_t FrameCnt; // }LowpassPra_t; LowpassPra_t LowpassPra { 0 };// FIR 45Hz低通 #define FIR_LEN (128) static float fir_coef_b[FIR_LEN 1] {0.001364, -0.001009, -0.001358, -0.000845, 0.000328, 0.000870, 0.000046, -0.001164, -0.001094, 0.000425, 0.001572, 0.000723, -0.001273, -0.001857, -0.000006, 0.002128, 0.001681, -0.001116, -0.002802, -0.000929, 0.002459, 0.002985, -0.000451, -0.003734, -0.002413, 0.002331, 0.004545, 0.000925, -0.004396, -0.004473, 0.001453, 0.006163, 0.003177, -0.004447, -0.007040, -0.000497, 0.007527, 0.006437, -0.003443, -0.009946, -0.003896, 0.008190, 0.010827, -0.000795, -0.012942, -0.009279, 0.007504, 0.016601, 0.004484, -0.015728, -0.017795, 0.004292, 0.024643, 0.014802, -0.017997, -0.033204, -0.004871, 0.039100, 0.040318, -0.019479, -0.078933, -0.045026, 0.108777, 0.295845, 0.380006, 0.295845, 0.108777, -0.045026, -0.078933, -0.019479, 0.040318, 0.039100, -0.004871, -0.033204, -0.017997, 0.014802, 0.024643, 0.004292, -0.017795, -0.015728, 0.004484, 0.016601, 0.007504, -0.009279, -0.012942, -0.000795, 0.010827, 0.008190, -0.003896, -0.009946, -0.003443, 0.006437, 0.007527, -0.000497, -0.007040, -0.004447, 0.003177, 0.006163, 0.001453, -0.004473, -0.004396, 0.000925, 0.004545, 0.002331, -0.002413, -0.003734, -0.000451, 0.002985, 0.002459, -0.000929, -0.002802, -0.001116, 0.001681, 0.002128, -0.000006, -0.001857, -0.001273, 0.000723, 0.001572, 0.000425, -0.001094, -0.001164, 0.000046, 0.000870, 0.000328, -0.000845, -0.001358, -0.001009, 0.001364, };uint8_t fir_filter_zhh(float* sig_in, float* sig_out, uint16_t sig_len) {assert(sig_len 1);uint16_t i, j;for (i 0; i sig_len; i) {sig_out[i] 0;for (j 0; j FIR_LEN; j) {sig_out[i] sig_in[i - j] * fir_coef_b[j];}}return 0; }void Lowpass_init() {//memset(LowpassPra.DataBuf, 0, sizeof(LowpassPra.DataBuf));//memset(LowpassPra.DataAfFir, 0, sizeof(LowpassPra.DataAfFir));LowpassPra.FrameCnt 0;}// 数据按帧传入同时要传入帧号 uint8_t Lowpass(int16_t* data_frame, int16_t* data_frame_out, int16_t SampleRate) {int16_t i;// 限制采样率必须是256if (SampleRate ! 256) {//printf(SampleRate error!\n);return 1;}LowpassPra.FrameCnt; // 函数里面帧号从1开始计数if (LowpassPra.FrameCnt 1) {memset(LowpassPra.DataBuf, 0 ,sizeof(LowpassPra.DataBuf));for (i 0; i POINT_FRAME;i) {LowpassPra.DataBuf[i POINT_FRAME] (float)data_frame[i];}//memset(LowpassPra.DataAfFir, 0, sizeof(LowpassPra.DataAfFir));//memset(LowpassPra.DataTmp, 0, sizeof(LowpassPra.DataTmp));}else {memcpy(LowpassPra.DataBuf[0], LowpassPra.DataBuf[POINT_FRAME], POINT_FRAME * sizeof(LowpassPra.DataBuf[0])); // 左移for (i 0; i POINT_FRAME; i) {LowpassPra.DataBuf[POINT_FRAME i] (float)data_frame[i];}int16_t m fir_filter_zhh(LowpassPra.DataBuf[(POINT_FRAME 1) (FIR_LEN 1)], LowpassPra.DataAfFir[0], POINT_FRAME);for (i 0; i POINT_FRAME; i) {data_frame_out[i] (int16_t)LowpassPra.DataAfFir[i];}} // if (sensoringCtrlPra.rCnt 1)return 0; } 测试代码 main.c #includestdio.h #includestdlib.h #includemath.h#includeLowpass.h#define SampleRate (256)#define FrameNum (20)// 读matlab转换采样率为SampleRate后的txt数据文件 int16_t data_in[FrameNum * SampleRate] { 0 }; int16_t data_out[FrameNum * SampleRate] { 0 }; int16_t data_size FrameNum * SampleRate;int8_t main() {int16_t i;uint8_t ret;int16_t read_data_size 0;FILE* fp;fp fopen(Sign_input.txt, r);if (fp NULL){return 0;}for (i 0; i data_size; i){ret fscanf(fp, %d, data_in i); // 1:读文件成功则返回成功读取的项数2:读文件失败则返回EOF。if (ret 1)read_data_size;}fclose(fp);if ((fp fopen(data_in.txt, w)) NULL){printf(Cannot open the file...);exit(1);}for (i 0; i FrameNum * SampleRate; i){fprintf(fp, %d\n, data_in[i]);}fclose(fp);Lowpass_init();for (i 0; i FrameNum; i) {ret Lowpass(data_in i * SampleRate, data_out i * SampleRate - (SampleRate 1), SampleRate);//ret Lowpass(data_in i * SampleRate, data_out i * SampleRate, SampleRate);if (ret) {return 1;}}if ((fp fopen(data_out.txt, w)) NULL){printf(Cannot open the file...);exit(1);}for (i 0; i FrameNum * SampleRate; i){fprintf(fp, %d\n, data_out[i]);}fclose(fp);return 0; } 附带对数据或者说调试的matlab代码 fir_lowpass_45_50_order128.m function Hd fir_lowpass_45_50_order128 %FIR_LOWPASS_45_50_ORDER128 Returns a discrete-time filter object.% MATLAB Code % Generated by MATLAB(R) 9.5 and Signal Processing Toolbox 8.1. % Generated on: 11-Sep-2024 11:13:54% Equiripple Lowpass filter designed using the FIRPM function.% All frequency values are in Hz. Fs 250; % Sampling FrequencyN 128; % Order Fpass 45; % Passband Frequency Fstop 50; % Stopband Frequency Wpass 1; % Passband Weight Wstop 1; % Stopband Weight dens 20; % Density Factor% Calculate the coefficients using the FIRPM function. b firpm(N, [0 Fpass Fstop Fs/2]/(Fs/2), [1 1 0 0], [Wpass Wstop], ...{dens}); Hd dfilt.dffir(b);% [EOF]test_vs.m %%% 和vs对数据程序close all,clear,clc% fs 200; % f1 3;f2 40; % t 0:1/fs:1-1/fs; % x sin(2*pi*t*f1)0.25*sin(2*pi*t*f2);load(..\data_in.txt); load(..\data_out.txt);figure plot(data_in) hold on plot(data_out)fidfopen(..\data_in.txt); %D:\zhh\work\VS projects\filter_int_v3 xfscanf(fid,%d); fclose(fid);filename data.txt; % dlmwrite(filename, x); fid fopen(filename, w); for i1:length(x)fprintf(fid, %.6f, , x(i)); end fclose(fid);%Hd fir_lowhpass_40_50_equiripple; Hd fir_lowpass_45_50_order128;% 直接matlab滤波 [b, a] tf(Hd); % b[1,2,1,3,1 ]; % a[1,1,1,1,1 ]; y1 iir_filter_zhh(b,a,x); figure plot(x);hold on plot(y1);y2 flipud( filter( b,a,flipud(y1) ) ); figure plot(x);hold on plot(y2);filename data_fir.txt; fid fopen(filename, w); for i1:length(x)fprintf(fid, %.6f\n, y2(i)); end fclose(fid);zhh 1; 写在最后 关于滤波器的幅值校正或者说增益这方面的资料很少还需要进一步研究。
http://www.tj-hxxt.cn/news/222158.html

相关文章:

  • 网站建设只有一个空间吗北京做微信网站哪家好
  • 大型网站建设方案wordpress时间插件下载
  • wordpress站点地址无法更改重庆网上注册公司网站
  • 中移建设 网站做网站系统的过程
  • 深圳网站建设的公司汽车网络营销分析报告
  • 找专题页面那个网站好新干县城乡建设局网站
  • 广西南宁小程序开发公司seo优化6个实用技巧
  • 网站定制哪家正规网站建设 文档下载
  • 深圳网站建设制作哪家便宜临沂哪家做网站最好
  • 自己可以创建公司网站吗seo优化是什么
  • 企业网站模板下载尽在南宁网站建设云尚网络
  • 邢台路桥建设总公司没有网站吗万网网站发布
  • 东莞百域网站建设公司百度热搜 百度指数
  • 自媒体横行还有做网站重庆网站建设技术支持
  • 翻译类公司网站模板网站底部加编码
  • 吉恩聊城网站建设班级网站模板html
  • 从事网站开发学什么专业网站建设优酷
  • 网站建设与网页设计期末考试网站建设管理情况报告
  • 网站模版安装教程网站页面制作多少钱
  • 电子商务网站的建设内容wordpress 微博社交
  • 个人网站设计的意义百度网站优点
  • 山西省三基建设办公室网站app网站的电话是什么
  • 阳江网站制作wordpress企业主题破解版
  • 四川省工程造价总站官网centos 安装wordpress lnmp
  • 电商 网站建设文字什么是网络营销的基础
  • 西安模板网站建设黄石建设信息网站
  • 青岛建设银行网站全球有多少亿人口
  • 网站概述怎么写网站链接优化怎么做
  • 网站开发做什么费用怎样免费开网店
  • 网站的大量图片存储格式起名网站开发