當前位置:首頁 » 編程軟體 » 帶通濾波編程

帶通濾波編程

發布時間: 2022-05-26 04:15:57

『壹』 這個電路怎麼實現帶通濾波的

運放的輸入級有一個一階RC高通網路,將低頻信號阻擋在外。運放的輸出級又有一個二階RC低通網路,將高頻信號吸收濾去,低的進不來,高的出不去,剩下就是「高不成、低不就」的帶通信號。

『貳』 FIR、IIR濾波器程序

fp=500; fs=750; % 設置濾波器的通帶和阻帶頻率
Fs=8000; Fs2=Fs/2; % 采樣頻率
Wp=fp/Fs2; Ws=fs/Fs2; % 把通帶和阻帶頻率歸一化
Rp=3; Rs=50; % 通帶波紋和阻帶衰減
[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs); % 求取濾波器階數
[b,a]=cheby2(n,Rs,Wn); % 設計契比雪夫II型低通濾波器系數
[db,mag,pha,grd,w]=freqz_m(b,a); % 求濾波器的頻率響應曲線

這是iir低通,,高通,帶通類似

『叄』 在MATLAB環境下設計高通、低通、帶通、帶阻四種濾波器的程序

窗函數設計低通濾波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2*fp/fs;
wc=2*fc/fs;
N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;
beta=0.1102*(as-8.7);
window=Kaiser(N+1,beta);
b=fir1(N,wc,window);
freqz(b,1,512,fs);

高通濾波器:
fs=22000;
Wp=2*5000/fs;
Ws=2*4800/fs;
Ap=1;
As=100;
N=ceil(8*pi/(Wp-Ws))+1;
N=N+mod(N+1,2)+1;
Wc=(Wp+Ws)/2/pi;
h=fir1(N,Wc,'high');
omega=linspace(0,pi,512);
freqz(h,1,omega);

帶通濾波器:
fs=22000;
Wp1=2*1200/fs;
Wp2=2*3000/fs;
Wc1=2*1000/fs;
Wc2=2*3200/fs;
Ap=1;
As=100;
W1=(Wp1+Wc1)/2;
W2=(Wp2+Wc2)/2;
wdth=min((Wp1-Wc1),(Wc2-Wp2));
N=ceil(11*pi/wdth)+1;
b = fir1(N,[W1 W2]);
freqz(b,1,512,fs)

『肆』 設計一個matlab帶通濾波器代碼

% 用切比雪夫最佳一致逼近設計線性相位FIR帶通濾波器;
%信號為0.5hz, 0.9hz, 1.1hz和1.5hz的正統信號疊加組成
%通帶為[0.9,1.1]
%頻譜解析度與信號實際長度N成正比
clear all;
f1=0.5;f2=0.9;f3=1.1;f4=1.5;t=0:1203;N=length(t);fs=10;M=512;
x1=sin(2*pi*(f1/fs)*t)+sin(2*pi*(f2/fs)*t)+sin(2*pi*(f3/fs)*t)+sin(2*pi*(f4/fs)*t);
figure(1);
subplot(211);plot(t,x1);title('原信號');
y=fft(x1);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(y(1:N/2)));grid;xlabel('hz');%處理前頻譜
wc1=2*f2/fs;wc2=2*f3/fs;wc3=2*f4/fs;%歸一化角頻率,用於下面的f1
f1=[0 wc1-0.05 wc1 wc2 wc2+0.05 1];
A=[0 0 1 1 0 0];%設置帶通或帶阻,1為帶通,0為帶阻
weigh=[1 1 1 ];%設置通帶和阻帶的權重
b=remez(60,f1,A,weigh);%傳函分子
h1=freqz(b,1,M);%幅頻特性
figure(2)
f=(0:1/M:1-1/M)*fs/2;
subplot(211);plot(f,abs(h1));grid;title('帶通');
x2=filter(b,1,x1);
S1=fft(x2);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(S1(1:N/2)));grid;xlabel('hz');%處理後頻譜

『伍』 求:一個關於FIR帶通濾波器的C語言設計程序 代碼

這兄弟可以用matlab做嗎?如果可以我給你寫代碼,很榮幸為您解答難題,竭誠為您服務,祝您開心,生活加油~~~

『陸』 如何根據已知濾波器的系數,編程分析該濾波器是高通低通還是帶通給個簡單思路即可。

可以用matlab來分析曲線走勢,高通就是頻率高的通過,頻率低了阻止;低通反之;而帶通而是某個頻率段通過,其它的都阻止。你可以找些matlab的程序看看。

『柒』 求設計一個帶通濾波器到matlab程序

%
用切比雪夫最佳一致逼近設計線性相位FIR帶通濾波器;
%信號為0.5hz,
0.9hz,
1.1hz和1.5hz的正統信號疊加組成
%通帶為[0.9,1.1]
%頻譜解析度與信號實際長度N成正比
clear
all;
f1=0.5;f2=0.9;f3=1.1;f4=1.5;t=0:1203;N=length(t);fs=10;M=512;
x1=sin(2*pi*(f1/fs)*t)+sin(2*pi*(f2/fs)*t)+sin(2*pi*(f3/fs)*t)+sin(2*pi*(f4/fs)*t);
figure(1);
subplot(211);plot(t,x1);title('原信號');
y=fft(x1);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(y(1:N/2)));grid;xlabel('hz');%處理前頻譜
wc1=2*f2/fs;wc2=2*f3/fs;wc3=2*f4/fs;%歸一化角頻率,用於下面的f1
f1=[0
wc1-0.05
wc1
wc2
wc2+0.05
1];
A=[0
0
1
1
0
0];%設置帶通或帶阻,1為帶通,0為帶阻
weigh=[1
1
1
];%設置通帶和阻帶的權重
b=remez(60,f1,A,weigh);%傳函分子
h1=freqz(b,1,M);%幅頻特性
figure(2)
f=(0:1/M:1-1/M)*fs/2;
subplot(211);plot(f,abs(h1));grid;title('帶通');
x2=filter(b,1,x1);
S1=fft(x2);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(S1(1:N/2)));grid;xlabel('hz');%處理後頻譜

『捌』 matlab 數字帶通濾波器

以前我做的一個完整的信號濾波前後的程序,可能數據有些不一樣,但用MATLAB做濾波器的大體思路都差不多,希望對你有用。(完全自創,要給分哦)
f=8*10^3; %信號頻率
f1=30*10^3; %雜訊頻率
l=100; %信號的長度
fs=100*10^3; %采樣頻率
%%%%%%%%%%%%%%%%生成信號
t=(0:l-1)/fs;
s=0.5*sin(2*pi*f*t)+cos(2*pi*f1*t);
figure(1);
subplot(1,2,1);
plot(fs*t(1:60),s(1:60));
title('時域波形');
xlabel('時間');
ylabel('幅度');
grid on;

nf=2^nextpow2(l);
Y=fftshift(fft(s,nf));
%k=-fs/2+(0:nf-1)*fs/nf;
k=fs*linspace(0,1,nf)-fs/2;
subplot(1,2,2);
plot(k,abs(Y)); %信號的頻譜圖
title('信號頻譜');
xlabel('頻率');
ylabel('幅度');
grid on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%濾波器設定
ws=10*10^3; %通帶截止頻率
ws1=20*10^3; %阻帶起始頻率
ds=50; %阻帶衰減
wt=2*pi*ws/fs; %經采樣後的通帶截止角頻率
wz=2*pi*ws1/fs; %阻帶的
wc=(wt+wz)/2; %歸一化後的濾波器截止頻率
n=ceil(6.6*pi/(wz-wt)); %t=(n-1)/2;
q=fir1(n-1,wc/pi,hanning(n));%濾波器時域函數
w=linspace(0,pi,512);
h1=freqz(q,1,512); %進行512個點的傅里葉變換
figure(2);
plot(w/pi,20*log10(abs(h1)));
title('濾波器頻譜圖');
xlabel('頻率');
ylabel('幅度');
grid ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%經濾波器後的信號
signal=conv(s,q);
nx=(0:n+l-2)/fs;
figure(3);
subplot(1,2,1);
plot(nx(n:60)*fs,signal(n:60));
title('經濾波後的信號時域圖');
xlabel('時間');
ylabel('幅度');
grid on;

lx=2^nextpow2(nx);
Y=fftshift(fft(signal,lx));
k=-fs/2+(0:lx-1)*fs/lx; %
subplot(1,2,2);
plot(k,abs(Y)); %信號的頻譜圖
title('濾波後信號頻譜');
xlabel('頻率');
ylabel('幅度');
grid on;

『玖』 用二維傅立葉變換程序編寫一個高通,低通,帶通濾波程序

描述清楚一點

『拾』 求設計一個hamming窗設計的帶通濾波器的matlab程序。

程序:

wlp = 0.3*pi;
whp = 0.4*pi;
wc = [wlp/pi,whp/pi];
N = 33;
n=0:N-1;
hn=fir1(N-1,wc, hanning (N)); %基於窗函數的 FIR 濾波器
[h2,w]=freqz(hn,1,512); %freqz是用離散傅里葉變換的標准公示計算的 fft使用快速傅里葉變換的公式計算的,本質上沒有差別
subplot(311);
stem(n,hn);
axis([0 60 -0.25 0.25]);
grid;
xlabel('個數');
ylabel('幅度');
title('Hanning窗函數的單位脈沖響應');
subplot(312);
plot(w/pi,20*log(abs(h2)/abs(h2(1))));
grid;
xlabel('以π為單位的頻率');
ylabel('對數幅度(dB)');
title('濾波器相對幅度響應(db)')
subplot(313)
plot(w/pi,abs(h2));
grid;
xlabel('以π為單位的頻率');
ylabel('絕對幅度(dB)');
title('濾波器絕對幅度響應(db)')
結果:

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829