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

带通滤波器中心频率怎么求_滤波器的带宽是什么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)
上一篇 2025年9月16日 下午11:22
下一篇 2025年9月17日 上午7:01


相关推荐

  • hisi3516dv300学习笔记——编译hisi3516dv300的SDK

    hisi3516dv300学习笔记——编译hisi3516dv300的SDK先下载linux内核源码包,下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/(1)编译整个osdrv目录:注意:默认不发布内核源码包,只发布补丁文件。内核源码包需自行从开源社区上下载。从linux开源社区下载v4.9.37版本的内核:1)进入网站:www.kernel.org2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面3)选择linux/菜单项,进入子页面4)选择ker

    2026年2月22日
    4
  • 合肥走出的语音智能王者,又把大模型推到国内顶流

    合肥走出的语音智能王者,又把大模型推到国内顶流

    2026年3月14日
    2
  • 打开python 报R6034 错误

    打开python 报R6034 错误我只在Python3和python2同时在anaconda3下安装出现的问题,后来移除python2也不起作用,找到了这个方法,解决的问题。6034指的是:”AnapplicationhasmadeanattempttoloadtheCruntimelibraryincorrectly.Pleasecontacttheapplication’ssuppor…

    2025年8月3日
    8
  • 阿里开源数据同步工具–DataX

    阿里开源数据同步工具–DataX下载地址:QuickStartDataX是异构数据源离线同步工具。能够将MySQLsqlServerOracleHiveHBaseFTP之间进行稳定高效的数据同步。设计思路:网状连接-》星型连接目前支持哪些数据同步?:核心架构:推荐使用python2.67不要使用python3,0使用方法和案例:1.准备一个job….

    2022年6月28日
    55
  • qcow2 总结

    qcow2 总结1 qcow2 文件分布对内存不了解的可跳过此部分 MMU 虚拟地址和物理地址 TLB TranslationL 4k 一个 page 需要一个地址存放 4K gt 4B 4G gt 4MB 100 万个页 100 个进程需要 400M 将页表 一级页表 分为 1024 个页表 二级页表 每个表 二级页表 中包含 1024 个 页表项 页表一定要覆盖全部虚拟地址空间 不分级的页表就需要有 100 多万个页表项来映射 而二级分页

    2026年3月19日
    2
  • idea永久激活码破解方法

    idea永久激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    101

发表回复

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

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