滤波器,是指对输入信号起到滤波作用的系统,可分为模拟滤波器和数字滤波器两大类。其中,数字滤波器是数字信号处理的重要环节,具有可靠性好、精度高、灵活性大等优点,广泛地应用在语音和图像处理、模式识别、频谱分析等方面。数字滤波器按其单位样值响应的性质可分为有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)。

       本课题主要讨论了数字有限冲激响应滤波器(FIR)的实现,主要包括窗函数法和基于切比雪夫逼近法两种方法,分别对该两种方法进行了理论介绍,并进行了MATLAB仿真。并重点介绍了基于切比雪夫逼近法的滤波器的设计与实现,并使用了音乐WAV文件进行测试,通过切比雪夫逼近法滤波器对音频文件进行滤波,从时域和频域两方面分析其滤波效果。最后利用MATLAB具有强大的科学计算和图形显示这一优点,设计了一个简单的GUI界面,通过GUI界面,可以简单的进行系统操作。

滤波器,是指对输入信号起到滤波作用的系统。根据处理的信号不同,可分为模拟滤波器和数字滤波器两大类。若滤波器的输入、输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,我们称这样的滤波器为数字滤波器(Digital Filter)。

数字滤波器是数字信号处理的重要环节,它实质是用有限精度算法实现的离散时间线性时不变系统,从而完成对信号进行滤波处理的功能。具有可靠性好、精度高、灵活性大等优点,广泛地应用在语音和图像处理、模式识别、频谱分析等方面。

数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变(LTI)离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工、处理和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。根据频率响应特性,数字滤波器可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,除了具有数字信号处理的固有优点外,还有滤波精度高、稳定性好、灵活性强等优点。数字滤波器按其单位样值响应的性质可分为有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)。

因此,通过一种合适的方式来设计滤波器具有重要的意义。由于FIR滤波器具有跟多的优势,本课题将重点研究FIR滤波器的实现。FIR滤波器的实现主要有窗函数法和基于切比雪夫逼近法等多种实现方式。

窗函数法的基本思想是把频率响应通过IDTFT求得脉冲响应,然后利用加窗函数对它进行截断和平滑,以实现一个物理可实现且具有线性相位的 FIR 数字滤波器的设计目的。

切比雪夫逼近法,其目的是在所需要的区间内,使误差函数E(x)较均匀一致,并且通过合理地选择多项式,使E(x)的最大值达到最小。即,使最大误差最小化。

基于切比雪夫逼近法的滤波器的设计与仿真

数字滤波器的设计是现代数字信号处理的重要内容。常用的数字滤波器有FIR和IIR两种类型,两者比较而言。主要有如下几点区别:

从系统的幅频特性来看,IIR滤波器由于综合利用了系统的零极点,容易达到比较理想的设计效果; 而FIR滤波器由于只有零点,效果较IIR滤波器差。要达到与IIR滤波器相似的效果,往往要提高系统的阶数。

其次,从相位特性来看,用FIR滤波器可以得到线性相位数字滤波器,满足信号不失真传输的要求。 对于IIR滤波器而言,往往幅频特性越好,相位非线性就越严重。

再次,从系统稳定性来看,FIR滤波器由于没有极点,所以一定是稳定的;而IIR滤波器的稳定与否取决于其极点的位置。

最后,从设计方法来看,IIR滤波器的设计参照连续时间系统的传输函数进行,可以充分利用模拟滤波器的设计结果,但是要求设计者有一定的模拟滤波器的设计知识,而且必须保证在模拟滤波器中能够找到合适的滤波器原型作为设计基础;而FIR滤波器设计结果完全是根据系统频率进行,不需要设计者有其他滤波器的知识,设计方法比较简单。

综上所述,本课题决定使用FIR数字滤波器。

FIR滤波器设计的方法主要有窗函数法和切比雪夫逼近法等。本章将简单的介绍一下基于窗函数的FIR滤波器的设计与实现,然后就窗函数的缺陷,进一步介绍切比雪夫逼近法的滤波器的设计。

为了选取效果最佳的窗函数滤波器,我们这里统一设定a=0.5,Ts=1/1000,通过改变N理对比滤波器的性能,我们分别通过比较N=16,32,128来比较。

矩形窗

图2-1 矩形窗频谱特性

    图2-1,可以得知,虽然矩形窗函数FIR滤波器实现起来比较简单,但是随着N阶数的不断增加,其窗函数的旁瓣并没有明显的变化,能量也没有完全集中在主瓣上,应此基于矩形窗函数的FIR滤波器只能应用与简单的场合,而且随着阶数的增加,其系统新能并不能得到很的改善,应此,在实际信号处理中,不使用矩形窗函数的FIR滤波器。

汉宁窗

图2-2汉宁窗频谱特性

    图2-2,可以得知,汉宁窗函数的性能相对于矩形窗函数有了明显的提升,但是当阶数较低的时候,其能力也并不完全集中在主瓣,当阶数较高的情况下,才能明显感觉到。但是当阶数较高的情况下,对设备成本有较大的影响。

汉明窗

图2-3汉明窗频谱特性

    汉明窗是在汉宁窗的基础改进的窗函数,有图可以看见,其能量基本集中在主瓣中,而且当阶数较低时,能量也基本集中在主瓣上,性能比汉宁窗和矩形窗更好。

布拉克曼窗

图2-4布拉克曼窗

布拉克曼窗函数其旁瓣衰减也是随着阶数的增加而增加,但是布拉克曼窗函数在硬件上实现较前三种窗函数而言,更加复杂。

以上就是窗函数的仿真。

    从上面的仿真可以看到,用窗函数设计FIR滤波器的设计是用有限序列去代替无限长序列,这会引起误差,表现在频域就是通常所说的吉布斯(Gibbs)效应。下面,我们将重点介绍基于切比雪夫逼近法的FIR滤波器的设计与实现。

下面首先通过一个简单的测试进行测试,输入MATLAB代码如下所示:

f     =[0 0.25 0.5 1]; %给定频率轴分点;

a     =[1 1 0 0]; %给定在这些频率分点上理想的幅频响应;

weigh =[1 10]; %给定在这些频率分点上的加权;       

b=remez(10,f,a,weigh); %设计出切比雪夫最佳逼近滤波器;

测试信号为:

图2.5 测试信号及其频谱图

 

针对真个信号的特点,设计如下的切比雪夫逼近滤波器。

图2.6 基于切比雪夫逼近算法的滤波器频谱特性图

    滤波之后,可以看到如下的效果:

图2.7 滤波之后信号及其频谱

    通过上述仿真可以看到,设计的基于切比雪夫逼近法的滤波器具有良好的滤波效果。下面通过适当修改滤波器的参数,对一组音乐信号进行滤波。

这个就是remez算法的基本过程。

在MATLAB中通过如下代码实现:

%给定频率轴分点;

f     =[0 0.4  0.6 1];

%给定在这些频率分点上理想的幅频响应;

a     =[1 1 0 0];   

%给定在这些频率分点上的加权;

weigh =[1 10];  

%设计出切比雪夫最佳逼近滤波器;

b=remez(32,f,a,weigh);

运行MATLAB,可以得到通过切比雪夫逼近法得到的滤波器的幅频特性:

图2.8 切比雪夫逼近滤波器的抽样值和幅频特性

    从上面的仿真可以看到,基于切比雪夫逼近法实现得到的滤波器具有跟好的幅频特性。下面我们将给予切比雪夫逼近法滤波器进行测试,对实际中带噪声的信息进行滤波处理。

   下面我们加入一个测试语音信号进行测试滤波器的性能。

假设输入的信号为:

图2.9 原始音乐信号的时域波形图

通过傅里叶变换得到原始音乐信号的傅里叶变换,在MATLAB中输入如下的代码:

y=fftshift(abs(fft(source)));

    运行MATLAB,可以看到信号的频谱为:

图2.10 原始音乐信号的频谱图

然后认为的加入噪声,加入噪声得到如下的仿真图:

图2.11 加入噪声后的信号时域图

图2.12 加入噪声的信号频谱图

从上面的频谱图可以看到,滤波之前的音乐信号,其频谱比较杂,在高频处存在较多的噪声,因此从听觉角度看,听起来会出现小的噪声干扰。

将此音乐信号通过滤波器,通过观察其频域信号就能看到滤波效果.

图2.13 滤波后的音乐信号

2.4 基于GUI的用户交互界面的设计

对于一个完整的系统,都具备一个GUI界面,MATLAB提供了功能强大的GUI界面设计模块,本节,我们将介绍使用MATLAB进行GUI界面的设计与实现。本系统的界面如下所示:

图2.14 GUI界面效果图

这里主要涉及到测试信号的滤波,还要打开外部WAV音频,然后对音频加入噪声,最后是滤波,这几个部分系统的主要功能模块。在GUI设计界面中首先搭好一个系统界面框架:

图2.15 GUI界面效果图

其中打开WAV文件对应的MATLAB代码如下所示:

function pushbutton3_Callback(hObject, eventdata, handles)

……….

 [filename,pathname]=uigetfile({ ...

    '*.*','All Files(*.*)';},...

    '选择文件');

if isequal([filename,pathname],[0,0])

    return

else

    pic = fullfile(pathname,filename);

    [source2,Fs,nbits]= wavread(pic);

end

……….

通过执行这个语句,在GUI界面上,就是自动弹出对话框,然后选择需要打开的WAV文件。

给加入的WAV文件加入噪声,其对应的MATLAB代码如下所示:

function pushbutton6_Callback(hObject, eventdata, handles)

……….

%添加噪声

sums = zeros(1,length(source2));

for i=1:60

n=1:((80000+1000*i)*pi-1)/length(source2):(80000+1000*i)*pi;

noise = 0.3*rand(1)*sin(n);

sums   = sums + noise(1:length(source2));

end

source_noise = source2 + sums';

source_noise = AWGN(source_noise,20);

……….

通过执行这个语句,在GUI界面上,就会自动对系统添加噪声。

最后一个主要功能模块是对带有噪声的信号进行滤波,其对应的MATLAB代码:

function pushbutton4_Callback(hObject, eventdata, handles)

……….

R1T=get(handles.edit1,'string')

if isempty(str2num(R1T))

        warndlg('Input is wrong,please input numeric type')

else

        R1T = str2num(R1T);

end

R2T=get(handles.edit2,'string')

if isempty(str2num(R2T))

        warndlg('Input is wrong,please input numeric type')

else

        R2T = str2num(R2T);

end

R3T=get(handles.edit3,'string')

if isempty(str2num(R3T))

        warndlg('Input is wrong,please input numeric type')

else

        R3T = str2num(R3T);

end

f     =[0 R1T R2T 1];    %给定频率轴分点;

a     =[1 1 0 0];      %给定在这些频率分点上理想的幅频响应;

weigh =[1 10];         %给定在这些频率分点上的加权;

b=remez(R3T,f,a,weigh); %设计出切比雪夫最佳逼近滤波器;

[h,w]=freqz(b,1,512,1);%数字滤波器的频率响应;

h=abs(h);%绝对值;

h=20*log10(h);

source2S=filter(b,1,source_noise);    %滤波正常实现

……….

通过执行这个语句,在GUI界面上,就会显示滤波之后的效果。

 

附录:

clc;

clear;

close all;

select = 2;%1:进行普通信号测试;2:音乐信号的测试

if select == 1

%普通信号测试

source = func_test_signal();

figure;

subplot(121);plot(source):title('原始音乐信号');

f     =[0 0.25 0.5 1]; %给定频率轴分点;

a     =[1 1 0 0];     %给定在这些频率分点上理想的幅频响应;

weigh =[1 10];         %给定在这些频率分点上的加权;

y=fftshift(abs(fft(source)));

subplot(122);plot(y);title('原始信号的频谱');

figure;

b=remez(10,f,a,weigh);%设计出切比雪夫最佳逼近滤波器;

[h,w]=freqz(b,1,512,1);%数字滤波器的频率响应;

h=abs(h);%绝对值;

h=20*log10(h);

subplot(121)%改置定位坐标系;

stem(b,'.');

grid;

title('切比雪夫逼近滤波器的抽样值');

subplot(122);

plot(w,h);%生成参数方程的图形;

grid;

title('切比雪夫逼近滤波器幅频特性(dB)');

source2=filter(b,1,source);    %滤波正常实现

figure;

subplot(121);plot(source2):title('通过切比雪夫逼近法滤波后的音乐信号');

y2=fftshift(abs(fft(source2)));

subplot(122);plot(y2);title('滤波后的信号频谱');

end

if select == 2

%音乐信号测试

[source,Fs,nbits] = wavread('source.wav');

figure;

plot(source):title('原始音乐信号');

f     =[0 0.4 0.6 1]; %给定频率轴分点;

a     =[1 1 0 0];     %给定在这些频率分点上理想的幅频响应;

weigh =[1 10];         %给定在这些频率分点上的加权;

y=fftshift(abs(fft(source)));

figure;

plot(y):title('原始信号的频谱');

sound(source,Fs);

figure;

b=remez(32,f,a,weigh);%设计出切比雪夫最佳逼近滤波器;

[h,w]=freqz(b,1,512,1);%数字滤波器的频率响应;

h=abs(h);%绝对值;

h=20*log10(h);

subplot(121)%改置定位坐标系;

stem(b,'.');

grid;

title('切比雪夫逼近滤波器的抽样值');

subplot(122);

plot(w,h);%生成参数方程的图形;

grid;

title('切比雪夫逼近滤波器幅频特性(dB)');

source2=filter(b,1,source);    %滤波正常实现

figure;

plot(source2);title('通过切比雪夫逼近法滤波后的音乐信号');

y2=fftshift(abs(fft(source2)));

figure;

plot(y2);title('滤波后的信号频谱');

sound(source2,Fs);

end

 

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 跟着狂神学Spring(官方资料+自己整合+细节补充+整合MyBatis)

    跟着狂神学Spring 1、Spring概述 1.1 简介 简介 Spring : 春天 —>给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发…...

    2024/5/7 8:24:47
  2. CPP lambda表达式

    其实一直有个疑问&#xff0c;就是lambda表达式捕获this变量的时候是不是引用传递。想用代码测试下是不是引用传递。生怕有拷贝构造函数啊&#xff01; m_test1 1; //成员便来嗯auto fTest [this](){this->m_test1 3;};fTest();qDebug()<<this->m_test1<<…...

    2024/4/27 16:17:10
  3. Lora 扩频因子具体说明

    Lora 扩频因子&#xff08;SF&#xff09; 采用百度百科的说法&#xff1a; 扩频因子(SF),是扩频码的序号&#xff0c;表示用多少位码片&#xff08;chip&#xff09;来表示一个信息符号&#xff08;bit&#xff09;&#xff0c;它的取值可以是2的n次方&#xff0c;如sf 2,4,…...

    2024/5/2 0:26:14
  4. ‘error: ‘‘this‘‘ cannot be implicitly captured in this context‘

    讲真&#xff0c;使用Qt反射 元对象 C11 的特性&#xff0c;写c代码简直不要太爽&#xff0c;代码优雅的不是一丁半点。 今天使用lambda表达式的时候&#xff0c;发现报了个编译错误 error: this cannot be implicitly captured in this context纠其原因&#xff0c;在于我…...

    2024/4/29 10:46:32
  5. Centos7 建立局域网本地 yum 源

    1.下载系统ISO文件 http://isoredirect.centos.org/centos/7/isos/x86_64/ 2.启动Apache HTTP Server&#xff0c;一般Centos系统预安装httpd&#xff0c;如果没有安装可以自己下载安装,&#xff08;httpd下载链接&#xff09; # systemctl start httpd # systemctl status h…...

    2024/4/29 0:00:01
  6. 类微信界面

    提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 类微信界面 文章目录一、界面功能展示二、实现方法提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、界面功能展示 页面顶部显示微信界面下方有四…...

    2024/4/26 23:01:20
  7. 登录模块 用户认证 SpringSecurity +Oauth2+Jwt

    SpringSecurity Oauth2 jwtSpringSecurity Oauth2 jwt1 用户认证分析1.1 单点登录1.2 第三方账号登录2 认证解决方案2.1 单点登录技术方案2.2 第三方登录技术方案2.2.1 Oauth2认证流程2.2.2 Oauth2在项目的应用2.3 Spring security Oauth2认证解决方案3 Jwt令牌回顾3.1 令牌结构…...

    2024/4/11 5:12:10
  8. VUE组件切换实现的方式

    VUE组件切换实现的方式 方法一&#xff1a;v-for <a clickchange("one")>aaa组件</a> <a clickchange("two")>bbb组件</a> <a clickchange("three")>ccc组件</a> <ul> <li v-ifcom_name"on…...

    2024/4/29 14:20:03
  9. 135【毕设课设】基MSP430单片机风光互补控制路灯设计

    通过风机和太阳能电板给锂电池充电&#xff0c;然后电池给高亮LED灯供电&#xff0c;可以手动控制灯的亮灭。 具有光敏电阻&#xff0c;白天灯不亮&#xff0c;晚上灯亮。 通过WIFI上传灯的亮灭&#xff0c;检测是否出现故障。以及太阳能和风机是否正常工作&#xff08;是否有电…...

    2024/4/11 6:46:08
  10. Modbus Slave-软件模拟Modbus从机通信

    Modbus Slave-软件模拟Modbus从机通信 1.介绍 Modbus Slave主要用来模拟Modbus从站设备,接收主站的命令包,返回数据包。帮可以32个窗口中模拟多达32个Modbus子设备。支持功能01, 02, 03, 04, 05, 06, 15, 16, 22和23&#xff0c;可查看串口数据收发。 2.安装 下载地址&…...

    2024/4/27 5:10:27
  11. SSM的优雅整合

    1.创建Maven-Web项目 2.创建优雅的目录结构 可能现在你的目录是这样的 我们把它变成这样 具体操作方式 然后在src/main/java目录下创建各个代码层对应的包&#xff08;按需&#xff09; 3.配置Tomcat 4.poom.xml添加依赖 <?xml version"1.0" encoding"UTF-…...

    2024/5/6 4:36:42
  12. 过滤器监听器

    过滤器 过滤器的使用 作用&#xff1a;对服务器接收的请求资源和给浏览器的资源进行管理保护servlet使用&#xff1a;创建一个实现了filter接口的普通java类复写接口的方法init,doFilter,destory在web.xml中配置过滤器实现Filter方法 public class MyFilter implements Filt…...

    2024/4/11 7:02:21
  13. 移动互联网开发--1.搭建类微信页面

    使用Android搭建类微信页面一、分析具体布局二、xml相应代码三、Java相应代码优化技巧移动互联网开发第一课要求完成以下需求:1&#xff0e;页面具有标题“微信”2&#xff0e;页面具有中间显示框3&#xff0e;页面具有底部选择框&#xff0c;并且具有选择事件4&#xff0e;页面…...

    2024/4/11 5:53:15
  14. 笔记:ML-LHY-15: Unsupervised Learning - Neighbor Embedding

    介绍了3中非线性降维方法 LLE基于相邻点的关系&#xff0c;然后在低维空间保持这种关系 Laplacian Eigenmaps基于图结构的关系&#xff0c;然后在低维空间保持这种关系 t-SNE基于分布的关系&#xff0c;然后在低维空间保持这种关系&#xff0c;巧妙利用不同相似度函数实现拉开不…...

    2024/4/11 5:34:56
  15. Jedis远程连接redis详解(密码设置、防火墙端口6379开启、去掉保护)

    设置redis密码 redis安装好后默认是没有密码的&#xff0c;设置密码需要修改redis.conf 将#requirepass foobared修改为requirepass 密码 vi redis.conf 在vi 下按shift: 输入 /requirepass foobared 快速定位到本行 n 下一条 N 或shiftn 上一条 #requirepass foobared req…...

    2024/4/29 12:48:18
  16. 配置SSH免密登录

    配置SSH免密登录 环境&#xff1a;在虚拟机的 Linux 系统下的 CentOS 6.8 做 Hadoop 完全分布式的 SSH 免密登录 &#xff08; 其他版本或产品原理应该是类似的&#xff09; 1、开启虚拟机 2、进入相关目录 命令 cd /root/.ssh 3、我的参考资料是这本书相关章节 &#xff08…...

    2024/4/12 7:03:21
  17. 2020年北大软微、清深Open FIESTA预推免回顾

    2020年北大软微、清深Open FIESTA预推免回顾 文章目录2020年北大软微、清深Open FIESTA预推免回顾前言个人基本情况预推免申报情况北大软微清深Open FIESTA10月调剂后记前言 关于夏令营篇&#xff0c;可以看这里&#x1f449;2020年南大计算机、人大高瓴、上交软院、华南理工计…...

    2024/4/12 7:50:14
  18. 2020西湖论剑CTF部分MISC——Write Up

    前言 谢谢盖师傅&#xff0c;本文章部分题目参考盖师傅的WP再详细的解释每一步的解题步骤&#xff0c;盖师傅yyds 还有借用了核平师傅的脚本进行解题&#xff0c;核平师傅yyds Yusapapa 题目地址&#xff1a;http://yusa-papa.7bf48c.challenge.gcsis.cn/ 查看题目所给网站…...

    2024/5/6 22:14:09
  19. Java多线程知识点小结

    Thread中的常用方法 start()&#xff1a;启动当前线程&#xff1b;调用当前线程的run()run()&#xff1a;通常需要重写Thread类中的此方法&#xff0c;将创建的线程要执行的操作声明在此方法中currentThread()&#xff1a;静态方法&#xff0c;返回执行当前代码的线程getName(…...

    2024/4/12 4:10:08
  20. FastDFS 功能原理

    文章目录1. 文件上传1.1 选择tracker server和group1.2 选择storage server1.3 选择storage path1.4 生成文件名1.5 返回文件id2. 文件下载3. 文件同步4. 文件删除5. 断点续传6. 文件HTTP访问支持1. 文件上传 文件上传流程 文件上传内部原理 1.1 选择tracker server和group …...

    2024/4/17 7:24:08

最新文章

  1. Gin 框架的使用

    1、Gin 快速开发 1.1、环境准备 1.1.1、导入 gin 依赖 这里就叫 gin 依赖了&#xff0c;在 Goland 命令行中输入下面的命令&#xff1a; go get -u github.com/gin-gonic/gin 1.1.2、设置代理 如果下载失败&#xff0c;最好设置一下代理&#xff0c;在 cmd 命令行中输入下…...

    2024/5/7 11:37:09
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. dp小兰走迷宫

    昨天学习了bfs的基本概念&#xff0c;今天来做一道经典习题练练手吧&#xff01; bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径&#xff08;数小:<20才能用dfs&#xff09; 遗留的那个问题的答案- 题目&#xff1a;走迷宫 #incl…...

    2024/5/7 4:57:38
  4. 零基础 HTML 入门(详细)

    目录 1.简介 1.1 HTML是什么? 1.2 HTML 版本 1.3 通用声明 2.HTML 编辑器 3.标签的语法 4.HTML属性 5.常用标签 5.1 head 元素 5.1.1 title 标签 5.1.2 base 标签 5.1.3 link 标签 5.1.4 style 标签 5.1.5 meta 标签 5.1.6 script 5.2 HTML 注释 5.3 段落标签…...

    2024/5/5 8:40:44
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/6 18:23:10
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/6 18:40:38
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/6 23:37:19
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/6 7:24:07
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/7 0:32:52
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/6 6:01:13
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/6 7:24:06
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/7 1:54:46
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/6 20:04:22
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/7 0:32:51
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/6 7:24:04
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/6 7:24:04
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/6 19:38:16
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/6 7:24:03
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/7 0:32:49
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/6 21:25:34
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/7 11:08:22
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/7 7:26:29
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/7 0:32:47
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/6 16:50:57
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57