带通滤波器中心频率怎么求_滤波器的带宽是什么

带通滤波器中心频率怎么求_滤波器的带宽是什么qsj8362234发表于2012-9-2712:08你索性把你的代码发我把clc;closeall;clearall;fs=20000;%采样频率dt=1/fs;f1=1000;f2=2000;%两个信号的频率a=[1010101100];%信号,取整nn=length(a);g1=a;g2=~a;%信号反转和…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

qsj8362234 发表于 2012-9-27 12:08 bbd016eb636182ff59f287f6e5567aa8.gif

你索性把你的代码发我把

clc ;close all; clear all;

fs=20000;   %采样频率

dt=1/fs;

f1=1000;

f2=2000;        %两个信号的频率

a=[1 0 1 0 1 0 1 1 0 0];   %信号,取整

nn=length(a);

g1=a;

g2=~a;            %信号反转和g1反向,01取反

g11=(ones(1,20000))’*g1;    %抽样

g1a=g11(:)’; %将0 1信号每个码元分为20000份

g21=(ones(1,20000))’*g2;

g2a=g21(:)’;

t=0:1/fs:10-dt;

t1=length(t);

fsk1=g1a.*cos(2*pi*f1.*t);

fsk2=g2a.*cos(2*pi*f2.*t);

fsk=fsk1+fsk2;              %产生的信号

SNR=20; % 信噪比

randn(‘state’,1945724);

% 在已调信号中加入高斯白噪声,信噪比为10dB

fsk_t=awgn(fsk,SNR,’measured’,[],’dB’);

y1=fft(fsk_t);

y2=fftshift(y1);

n=(-length(fsk_t)/2:length(fsk_t)/2-1)*fs/length(fsk_t);

figure(1);

subplot(211);

plot(t,fsk_t);

subplot(212);

plot(n,abs(y2));

N=81; %阶数

p=(N-1)/2;%采样点数

% 期望取样序列

Hd1=[zeros(1,3) 0.5 ones(1,1) 0.75 0.25 zeros(1,34)];  %加过渡点的带通设置,滤出1000的频率

Hd2=[zeros(1,7) 0.5 ones(1,1) 0.75 0.25 zeros(1,30)]; %加过渡点的带通设置,滤出2000的频率

u=0.002;

delta=4.62e-5;%误差

w1=randn(1,p+1)’;%一列p+1个随机数,初始权值

w2=randn(1,p+1)’

wi=[0:p]*pi/p;%0-pi,p+1个

op=zeros(p+1,p+1);%p+1的0矩阵

% op(1,:)=1;

nrow=[0 1:p]’;%一列P+1行

c=cos(nrow*wi);

E1=3;%总误差

while(E1>delta)    %误差大,调整

E1=0;

for k=1:p+1;%每个采样点处与期望值比较

y1=w1’*c(:,k);%一个数值

er1=abs(Hd1(k))-y1;%与期望序列的误差

%   E=E+1/2*er1*er1;

E1=E1+er1*er1;

w1=w1+u*er1*c(:,k);%更新权值

end

end

h1=zeros(1,p+1);

h1(p+1)=w1(1);

for k=p:-1:1

h1(k)=w1(p+2-k)/2;

end

h1=[h1 h1(p:-1:1)];  %duicheng

[HH1,ww1]=freqz((h1));

% subplot(2,2,3);

% stem(h);   xlabel(‘滤波器的系数’);

figure(2);

subplot(2,2,1);  plot(ww1,abs((HH1)));  xlabel(‘幅频特性’);grid on;

set(gca,’XTick’,0:pi/N*2:pi)

set(gca,’XTickLabel’,{0:N/2});

subplot(2,2,2);  plot(ww1,20*log10(abs(HH1)));  xlabel(‘衰减特性’);grid on;

set(gca,’XTick’,0:pi/N*2:pi)

set(gca,’XTickLabel’,{0:N/2});

set(gcf,’color’,’w’)

E2=3;

while(E2>delta)    %误差大,调整

E2=0;

for k=1:p+1;%每个采样点处与期望值比较

y2=w2’*c(:,k);%一个数值

er2=abs(Hd2(k))-y2;%与期望序列的误差

%              E=E+1/2*er1*er1;

E2=E2+er2*er2;

w2=w2+u*er2*c(:,k);%更新权值

end

end

h2=zeros(1,p+1);

h2(p+1)=w2(1);

for k=p:-1:1

h2(k)=w2(p+2-k)/2;

end

h2=[h2 h2(p:-1:1)];  %duicheng

[HH2,ww2]=freqz((h2));

% subplot(2,2,3);

% stem(h);   xlabel(‘滤波器的系数’);

figure(3);

subplot(2,2,1);  plot(ww2,abs((HH2)));  xlabel(‘幅频特性’);grid on;

set(gca,’XTick’,0:pi/N*2:pi)

set(gca,’XTickLabel’,{0:N/2});

subplot(2,2,2);  plot(ww2,20*log10(abs(HH2)));  xlabel(‘衰减特性’);grid on;

set(gca,’XTick’,0:pi/N*2:pi)

set(gca,’XTickLabel’,{0:N/2});

set(gcf,’color’,’w’)

%滤出的1000HZ的波形和频谱

figure(4);

lv1=filter(h1,1,fsk_t);

y3=fft(lv1);

y4=fftshift(y3);

n1=(-length(lv1)/2:length(lv1)/2-1)*fs/length(lv1);

subplot(211);

plot(t,lv1);

subplot(212);

plot(n1,abs(y4));

%滤出的2000HZ的波形和频谱

figure(5)

lv2=filter(h2,1,fsk_t);

y5=fft(lv2);

y6=fftshift(y5);

n2=(-length(lv2)/2:length(lv2)/2-1)*fs/length(lv2);

subplot(211);

plot(t,lv2);

subplot(212);

plot(n2,abs(y6));

%DFT求幅值

for i=1:nn;

I1(i)=0;

Q1(i)=0;

for j=1+(i-1)*20000:18000+(i-1)*20000;

I1(i)=I1(i)+lv1(j)*cos(2*pi*1000*j/20000);

Q1(i)=Q1(i)+lv1(j)*sin(2*pi*1000*j/20000);

end;

I1(i)=I1(i)/18000;

Q1(i)=Q1(i)/18000;

A1(i)=sqrt(I1(i)^2+Q1(i)^2);

end;

for i=1:nn;

I2(i)=0;

Q2(i)=0;

for j=1+(i-1)*20000:18000+(i-1)*20000;

I2(i)=I2(i)+lv2(j)*cos(2*pi*2000*j/20000);

Q2(i)=Q2(i)+lv2(j)*sin(2*pi*2000*j/20000);

end;

I2(i)=I2(i)/18000;

Q2(i)=Q2(i)/18000;

A2(i)=sqrt(I2(i)^2+Q2(i)^2);

end;

%判决

for i=1:nn;

if A1(i)>A2(i);

B(i)=1;

else

B(i)=0;

end

end

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196946.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【OpenCV入门教程之九】 非线性滤波专场:中值滤波、双边滤波[通俗易懂]

    正如我们上一篇文章中讲到的,线性滤波可以实现很多种不同的图像变换。然而非线性滤波,如中值滤波器和双边滤波器,有时可以达到更好的实现效果。邻域算子的其他一些例子还有对二值图像进行操作的形态学算子,用于计算距离变换和寻找连通量的半全局算子。先上一张截图:一、理论与概念讲解——从现象到本质1.1非线性滤波概述之前的那篇文章里,我们所考虑的滤波器都是线性的,即两个信号之和的响应和他们各自响应之和相等。换句话说,每个像素的输出值是一些输入像素的加权和,线性滤波器易于构造,并且易于从频率响应角度来进行分

    2022年4月9日
  • 推荐几款s60软件

    推荐几款s60软件用了一段时间E72(应该是E52),大概已经习惯了s60系统s60既不会出什么问题,也不会太出众,这份稳定,就是我所需要的介绍一下笔者常用的软件吧系统工具类360手机卫士虽然来电通也是很好的软件,但如

    2022年7月3日
  • java jersey使用总结_jersey Java Jersey配置「建议收藏」

    java jersey使用总结_jersey Java Jersey配置「建议收藏」示例此示例说明了如何配置Jersey,以便您可以开始将其用作RESTfulAPI的JAX-RS实现框架。假设您已经安装了ApacheMaven,请按照以下步骤设置Jersey:创建MavenWeb项目结构,在终端(Windows)中执行以下命令mvnarchetype:generate-DgroupId=com.stackoverflow.rest-DartifactId=jerse…

    2022年7月12日
  • soc ip核_类和对象有什么关系

    soc ip核_类和对象有什么关系SoC(SystemonaChip)中文名是系统级芯片。20世纪90年代中期,因使用ASIC实现芯片组受到启发,萌生应该将完整计算机所有不同的功能块一次直接集成于一颗硅片上的想法。SoC应由可设计重用的IP核组成,IP核是具有复杂系统功能的能够独立出售的VLSI块;IP核应采用深亚微米以上工艺技术;SoC中可以有多个MPU、DSP、MCU或其复合的IP核。IP核(I………

    2022年9月19日
  • zookeeper入门教程_日语入门自学

    zookeeper入门教程_日语入门自学zookeeperwatcher架构zookeeper 配置中心分布式ID分布式锁集群搭建数据一致性协议:zab协议Zookeeper Leader选举Observer角色及其配置watcher架构客户端首先将Watcher注册到服务器,同时将Watch对象保存到客户端的Watch管理器中。当Zookeeper服务器监听到的数据发生变化时,服务器会通知客户端,接着客户端的Watch管理器会触发相关的Watcher来回调响应处理逻辑,从而完成整体的数据发布/订阅流程。javaAPIJava

    2022年8月8日
  • Android的px、dp和sp

    Android的px、dp和sppx:即像素,1px代表屏幕上一个物理的像素点;偶尔用到px的情况,是需要画1像素表格线或阴影线的时候。dp:这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相

    2021年12月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号