福建工程学院电网电流采集与处理.docx

上传人:b****7 文档编号:11299371 上传时间:2023-02-26 格式:DOCX 页数:35 大小:613.18KB
下载 相关 举报
福建工程学院电网电流采集与处理.docx_第1页
第1页 / 共35页
福建工程学院电网电流采集与处理.docx_第2页
第2页 / 共35页
福建工程学院电网电流采集与处理.docx_第3页
第3页 / 共35页
福建工程学院电网电流采集与处理.docx_第4页
第4页 / 共35页
福建工程学院电网电流采集与处理.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

福建工程学院电网电流采集与处理.docx

《福建工程学院电网电流采集与处理.docx》由会员分享,可在线阅读,更多相关《福建工程学院电网电流采集与处理.docx(35页珍藏版)》请在冰豆网上搜索。

福建工程学院电网电流采集与处理.docx

福建工程学院电网电流采集与处理

第1章课程设计任务书

一、课程设计的目的

(1)进一步理解数字信号处理的基本概念、基本理论和基本方法。

(2)熟悉在MATLAB环境下电网负载电流采集的方法。

(3)学会用MATLAB软件对信号进行分析和处理。

(4)综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法。

(5)提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。

二、课程设计的要求

(1)认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。

(2)学生在规定的时间内独立完成规定的内容和工作量。

(3)课程设计的成果为“课程设计任务书”。

要求计算准确、文字通顺、图面布置合理、正确清晰、符合制图标准及有关规定。

(4)课程设计任务书是一项工程或事件的真实情况的反映,要用事实、数据说话。

任务书不需要目录、摘要、关键词、脚注、参考文献等。

课程设计任务书应在2000字以上(含相关图纸和计划书等),打印成稿。

三、设计的内容

1、电网负载电流采集

三相可控整流器带纯电阻负载(负载可变),相控角可设置,观察波形,并记录,仿真时间0.2秒,记录的数组为iLoad。

2、负载电流频谱分析

在Matlab中,利用fft函数对信号进行频谱分析,得到信号的频谱特性。

3、设计数字滤波器

给定滤波器的性能指标如下:

低通:

fp=60Hz,fs=80Hz,Ap=1dB,As=45dB。

高通:

fs=370Hz,fp=390Hz,Ap=1dB,As=45dB。

带通:

fs1=210Hz,fp1=230Hz,fp2=270Hz,fs2=290Hz,Ap=1dB,As=45dB。

采用窗函数法和双线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应,并根据幅频特性曲线对所设计的数字滤波器进行可行性分析。

4、用滤波器对信号进行滤波

用自己设计的滤波器对采集到的信号进行滤波处理,画出滤波前后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化。

5、在CCS构造3个频率信号叠加,f1=50Hz,f2=50*5Hz,f3=50*7Hz,编制软件,实现FIR低通和带通滤波,低通滤波器要滤除两个高频信号,带通滤波器要滤除低频信号和高频信号,Ap=1dB,As=50dB。

用CCS画图工具画出滤波前及滤波后信号波形。

(先设计FIR滤波器,然后对滤波器系数定标并移植)

 

第2章设计原理

一、窗函数法设计原理

希望逼近的滤波器频率响应函数为:

单位脉冲响应为:

hd(n)是中心点在α的偶对称无限长非因果序列,如下图(a)。

要得到有限长的h(n),必须加窗截断,矩形窗RN(n)如下图(b)。

按照第一类线性相位FIR滤波器的约束条件,h(n)必须偶对称,对称中心应为(N-1)/2,因此,必须取α=(N-1)/2,所以有

窗函数设计法的时域波形(矩形窗,N=30)

加窗截断产生的影响

实际滤波器的幅度函数为

对实际FIR滤波器频率响应的幅度函数起影响的是窗函数频率响应的幅度函数

用一个有限长序列h(n)代替hd(n),会引起截断效应,体现在过渡带加宽以及通带和阻带内的波动,阻带衰减减小。

二、用窗函数法设计FIR数字滤波器的步骤

(1)根据阻带最小衰减选择窗函数类型,根据过渡带的指标要求估计窗口长度N

(2)构造希望逼近的频率响应函数

(3)计算hd(n)

(4)加窗

,得到计算结果

(5)求

,检验是否满足设计要求,如果不满足,重新设计

三、窗函数法的MATLAB设计函数

b=fir1(M,wc,’ftype’,window)

M:

FIR滤波器阶数,M=N-1

window=kaiser(N,alph),凯塞窗

wc:

对pi归一化的数字频率

wc=(wp+ws)/2,ftype不填,设计FIR低通滤波器

wc=(wp+ws)/2,ftype=high,设计FIR高通滤波器

wc=[wcl,wcu],ftype不填,设计FIR带通滤波器

四、用双线性变换法设计IIR数字滤波器

无限脉冲响应数字滤波器

[N,wc]=buttord(wp,ws,Rp,As,’s’)

计算Butterworth模拟滤波器的阶数N和3dB截止频率wc。

wp,ws和wc是实际的模拟角频率(单位:

rad/s)。

[B,A]=butter(N,wc,'ftype','s')

计算Butterworth模拟滤波器系统的分子和分母多项式的系数向量B和A。

由系数向量B和A写出模拟滤波器的系统函数H(s)为:

[N,wpo]=ellipord(wp,ws,Rp,As,‘s’)%wpo为通带边界频率

[B,A]=ellip(N,Rp,As,wpo,'ftype','s')

模拟高通、带通、带阻滤波器的设计波形图

第3章设计内容

(1)电网负载电流采集

1.总的连接电路图如下:

2.三相电网电路图

 

3.三相可控整流器带纯电阻负载电路图如下:

(2)观察波形

1.电流采集结果iLoad波形

 

2.iL波形

3.IL1波形

4.设置全局变量负载电流一个电网周期采样点数N和采样周期Ts

(3)负载电流频谱分析

1.程序如下:

%课程设计---获取离散信号并做频谱分析,了解对象的频率分布情况

closeall;

clear;

clc;

loadiLoad;%读取采样结果

Fs=6.4*1000;%采样频率6.4kHz

Ts=1/Fs;%采样周期

N=0.02/Ts;%负载电流一个电网周期采样点数

OrdMax=22;%阶数最大值

t=iLoad.time;%负载电流时间

L=length(t)%负载电流总采样点数

current=iLoad.signals.values;%负载电流等间隔采样,得到离散信号:

current

(1),current

(2),current(3),...,current(L)

xn=current(N:

-1:

1);%一个电网周期的样本

Xk=fft(xn);

%以下是绘图部分

figure

(1)

subplot(3,1,1),plot(current);title('负载电流');

xlabel('t/s');ylabel('i/A');%物理量及单位

gridon;%加网格

xlim([0,L]);ylim([-60,60]);%坐标限定

subplot(3,1,2),stem(abs(Xk)/N*2,'.');title('负载电流频谱');%plot(abs(Xk)/N*2);

gridon;

xlim([0,N]);ylim([0,60]);

k=0:

22;

subplot(3,1,3),stem(k,abs(Xk(k+1))/N*2,'.');

title('负载电流频谱');%plot(k,abs(Xk(k+1))/N*2);

gridon;

xlim([0,22]);ylim([0,60]);

2.利用fft函数对信号进行频谱分析,得到信号的频谱特性如下

(4)根据给定滤波器的性能指标设计FIR低通、高通、带通滤波器

并用滤波器对信号进行滤波

1.程序如下:

%**************************加载FIR滤波器*************************%

%*****************************低通滤波器**************************%

fp=60;fs=80;rs=21;%设计指标

wp=(2*pi*fp)/Fs;

ws=(2*pi*fs)/Fs;

Bt=ws-wp;

alph=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的形状参数

M=ceil((rs-8)/2.285/Bt);%根据(7.2.17)式计算kaiser窗所需阶数M

wc=(wp+ws)/2/pi;%计算理想低通滤波器通带截止频率(关于π归一化),即wc:

对pi归一化的数字频率

h1=fir1(M,wc,kaiser(M+1,alph));%调用kaiser计算低通FIRDF的h(n)

hh1=round(h1*32768);

fld=fopen('hh1.txt','wt');

fprintf(fld,'%d,',hh1);

fclose(fld);

%以下是绘图部分

figure

(2)

n=1:

M+1;

subplot(3,2,1);stem(n,h1,'.');gridon;

xlim([0,M+1]);%ylim([-0.05,0.05]);

title('FIR低通滤波器单位脉冲响应h(n)');xlabel('n');ylabel('h(n)');

N_DFT=512;

[H,w]=freqz(h1,1,N_DFT);%求幅频响应

k=1:

N_DFT;

subplot(3,2,2);plot(w/pi,20*log10(abs(H(k))));title('幅频响应');

gridon;xlabel('\omega/\pi');ylabel('Magnitude(dB)');

%3.2.1低通滤波器应用(对负载电流进行滤波及滤波后的频谱分析)

current1=fftfilt(h1,current);%对负载电流进行滤波

fft1=fft(current1(2*N+1:

2*N+1+N));%从第二个周期开始取一个周期滤波后的电流值

n=1:

L;k=0:

22;

figure

(2)

subplot(3,2,3);plot(t,current(n));gridon;

ylim([-70,70]);

title('原始电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,5);plot(t,current1(n));gridon;

xlim([0,0.2]);ylim([-70,70]);

title('FIR低通滤波后电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,4);stem(k,abs(Xk(k+1))/N*2,'.');gridon;%plot(k,abs(Xk(k+1))/N*2);

xlim([0,22]);ylim([0,60]);

title('原始电流信号频谱');xlabel('k');ylabel('谐波幅值');

subplot(3,2,6);stem(k,abs(fft1(k+1))/N*2,'.');gridon;%plot(k,abs(fft1(k+1))/N*2);

xlim([0,22]);ylim([0,70]);

title('FIR低通滤波后电流信号频谱');xlabel('k');ylabel('谐波幅值');

 

%*****************************高通滤波器**************************%

%3.2高通滤波器设计(Kaiser窗)

fs=370;fp=390;rp=1;rs=21;%设计指标----8次以下谐波滤除

ws=2*pi*fs/Fs;wp=2*pi*fp/Fs;

Bt=wp-ws;

%alph=0.112*(rs-8.7);%根据(7.2.16)式计算kaiser窗的参数α

alph=0.5842*(rs-21)^0.4+0.07866*(rs-21);

M=ceil((rs-7.95)/2.286/Bt)+1;%根据(7.2.17)式计算kaiser窗所需阶数M

wc=(wp+ws)/2/pi;%计算理想高通滤波器通带截止频率(对π归一化)

h2=fir1(M,wc,'high',kaiser(M+1,alph));%所设计的FIR滤波器---单位脉冲响应h(n)

hh2=round(h2*32768);

fld=fopen('hh2.txt','wt');

fprintf(fld,'%d,',hh2);

fclose(fld);

%以下是绘图部分

figure(3)

n=1:

M+1;

subplot(3,2,1);stem(n,h2,'.');gridon;

xlim([0,M+1]);%ylim([-0.05,0.05]);

title('FIR高通滤波器单位脉冲响应h(n)');xlabel('n');ylabel('h(n)');

N_DFT=512;

[H,w]=freqz(h2,1,N_DFT);

k=1:

N_DFT;

subplot(3,2,2);plot(w/pi,20*log10(abs(H(k))));title('幅频响应');

gridon;xlabel('\omega/\pi');ylabel('Magnitude(dB)');

%3.2.1高通滤波器应用(对负载电流进行滤波及滤波后的频谱分析)

current2=fftfilt(h2,current);

fft2=fft(current2(2*N+1:

2*N+1+N));

n=1:

L;k=0:

22;

figure(3)

subplot(3,2,3);plot(t,current(n));gridon;

ylim([-70,70]);

title('原始电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,5);plot(t,current2(n));gridon;

xlim([0,0.2]);ylim([-70,70]);

title('FIR高通滤波后电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,4);stem(k,abs(Xk(k+1))/N*2,'.');gridon;%plot(k,abs(Xk(k+1))/N*2);

xlim([0,22]);ylim([0,60]);

title('原始电流信号频谱');xlabel('k');ylabel('谐波幅值');

subplot(3,2,6);stem(k,abs(fft2(k+1))/N*2,'.');gridon;%plot(k,abs(fft2(k+1))/N*2);

xlim([0,22]);ylim([0,70]);

title('FIR高通滤波后电流信号频谱');xlabel('k');ylabel('谐波幅值');

 

%*****************************带通滤波器**************************%

%3.2带通滤波器设计(Kaiser窗)

fls=210;flp=230;%设计指标

fup=270;fus=290;

rs=21;

wlp=2*pi*flp/Fs;

wls=2*pi*fls/Fs;

wup=2*pi*fup/Fs;

wus=2*pi*fus/Fs;

Bt=wlp-wls;

alph=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的形状参数P210

M=ceil((rs-8)/2.285/Bt);

wc=[(wls+wlp)/2/pi,(wus+wup)/2/pi];

h3=fir1(M,wc,kaiser(M+1,alph));

hh3=round(h3*32768);

fld=fopen('hh3.txt','wt');

fprintf(fld,'%d,',hh3);

fclose(fld);

%以下是绘图部分

figure(4)

n=1:

M+1;

subplot(3,2,1);stem(n,h3,'.');gridon;

xlim([0,M+1]);%ylim([-0.05,0.05]);

title('FIR带通滤波器单位脉冲响应h(n)');xlabel('n');ylabel('h(n)');

N_DFT=512;

[H,w]=freqz(h3,1,N_DFT);

k=1:

N_DFT;

subplot(3,2,2);plot(w/pi,20*log10(abs(H(k))));title('幅频响应');

gridon;xlabel('\omega/\pi');ylabel('Magnitude(dB)');

%3.2.1带通滤波器应用(对负载电流进行滤波及滤波后的频谱分析)

current3=fftfilt(h3,current);

fft3=fft(current3(2*N+1:

2*N+1+N));

n=1:

L;k=0:

22;

figure(4)

subplot(3,2,3);plot(t,current(n));gridon;

ylim([-70,70]);

title('原始电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,5);plot(t,current3(n));gridon;

xlim([0,0.2]);ylim([-70,70]);

title('FIR带通滤波后电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,4);stem(k,abs(Xk(k+1))/N*2,'.');gridon;%plot(k,abs(Xk(k+1))/N*2);

xlim([0,22]);ylim([0,60]);

title('原始电流信号频谱');xlabel('k');ylabel('谐波幅值');

subplot(3,2,6);stem(k,abs(fft3(k+1))/N*2,'.');gridon;%plot(k,abs(fft3(k+1))/N*2);

xlim([0,22]);ylim([0,70]);

title('FIR带通滤波后电流信号频谱');xlabel('k');ylabel('谐波幅值');

 

2.采用窗函数法设计上面要求的3种滤波器的频率响应

(a)低通滤波器

(b)高通滤波器

(c)带通滤波器

 

将幅频响应横坐标限定0.2,便于观察

(a)低通滤波器

(b)高通滤波器

(c)带通滤波器

3.根据幅频特性曲线对所设计的数字滤波器进行可行性分析

由幅频特性曲线可以验证各项指标满足要求,如不满足要求,则要改变N,或改变相关参数,然后重新计算。

4.滤波前后信号的时域波形及频谱如上图,并对滤波前后的信号进行对比,分析信号的变化。

我们知道图像中采集电流的谐波最高到50次,幅值差不多50几mA,主要能量集中在基波,谐波次数月光,幅值越小。

只研究有限项,把无限项过滤掉。

从三个滤波器的时域图像中只能看到单频信号,看不出那些频率分量。

从频域看低通保留1次谐波,高通滤除掉8次以下谐波,带通保留5次谐波。

(5)根据给定滤波器的性能指标设计低通、高通、带通滤波器并用滤波器对信号进行滤波

1.程序如下;

%**************************加载IIR滤波器*************************%

%***************************低通滤波器***************************%

%低通滤波器fp=60Hz,fs=80Hz,Ap=1dB,As=45dB。

fp=60;fs=80;rp=1;rs=45;%设计指标

wp=2*pi*fp;%数字角频率

ws=2*pi*fs;

[N1,wpo]=ellipord(wp,ws,rp,rs,'s');%计算低通模拟滤波器阶数N1和通带边界频率wpo

[B,A]=ellip(N1,rp,rs,wpo,'s');%计算低通模拟滤波器系统函数系数向量B,A

[Bz,Az]=bilinear(B,A,Fs);%用双线性变换法转换成数字滤波器

%以下是绘图部分

figure(5)

subplot(3,2,1);

fk=0:

(50*OrdMax)/512:

(50*OrdMax);

wk=2*pi*fk;

Hk=freqs(B,A,wk);

plot(fk,20*log10(abs(Hk)));gridon;

title('椭圆模拟低通滤波器幅频响应');xlabel('频率(kHz)');ylabel('幅度(db)');

xlim([0,50*OrdMax]);ylim([-80,1]);

subplot(3,2,2);

wk=0:

pi/512:

pi;

Hz=freqz(Bz,Az,wk);

plot(wk/pi,20*log10(abs(Hz)));gridon;

title('IIR椭圆数字低通滤波器幅频响应');xlabel('\omega/\pi');ylabel('幅度/db');

axis([0,0.2,-80,1]);

%低通滤波器应用(对负载电流进行滤波及滤波后的频谱分析)

current1=filter(Bz,Az,current);

fft1=fft(current1(3*N+1:

3*N+1+N));%从第三个周期开始取一个周期滤波后的电流值

n=1:

L;k=0:

22;

figure(5)

subplot(3,2,3);plot(t,current(n));gridon;

ylim([-70,70]);

title('原始电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,5);plot(t,current1(n));gridon;

xlim([0,0.2]);ylim([-70,70]);

title('IIR低通滤波后电流信号');xlabel('t/s');ylabel('i/A');

subplot(3,2,4);stem(k,abs(Xk(k+1))/N*2,'.');gridon;%plot(k,abs(Xk(k+1))/N*2);

xlim([0,22]);ylim([0,60]);

title('原始电流信号频谱');xlabel('k');ylabel('谐波幅值');

subplot(3,2,6);stem(k,abs(fft1(k+1))/N*2,'.');gridon;%plot(k,abs(fft1(k+1))/N*2);

xlim([0,22]);ylim([0,60]);

title('IIR低通滤波后电流信号频谱');xlabel('k');ylabel('谐波幅值');

 

%****************************高通****************************%

fs=370;fp=390;rp=1;rs=45;

wp=2*pi*fp;%数字角频率

ws=2*pi*fs;

[N2,wpo]=ellipord(wp,ws,rp,rs,'s');

[B,A]=ellip(N2,rp,rs,wpo,'high','s');

[Bz,Az]=bilinear(B,A,Fs);

%以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1