# iirj
An IIR filter library written in JAVA.
Highpass, lowpass, bandpass and bandstop as
Butterworth, Bessel and Chebyshev Type I/II.
It's based on the IIR1 library [https://github.com/berndporr/iir1]
which in turn is based on Vinnie Falco's DSPFilters [https://github.com/vinniefalco/DSPFilters].
![alt tag](filtertest.png)
## Usage
`import uk.me.berndporr.iirj.*;`
### Constructor
`Butterworth butterworth = new Butterworth();`
### Initialisation
1. Bandstop
`butterworth.bandStop(order,Samplingfreq,Center freq,Width in frequ);`
2. Bandpass
`butterworth.bandPass(order,Samplingfreq,Center freq,Width in frequ);`
3. Lowpass
`butterworth.lowPass(order,Samplingfreq,Cutoff frequ);`
4. Highpass
`butterworth.highPass(order,Samplingfreq,Cutoff frequ);`
### Filtering
Sample by sample for realtime processing:
```
v = butterworth.filter(v)
```
## Coding examples
See the `*Test.java` files for complete examples
for all filter types. Run them with `mvn test`. These test programs
write the different impulse responses of the filters to text files.
## Installation
Just run: `mvn install` to add it to your local maven respository or
just point your project to Maven Central:
## Maven central
Click on
[![Maven Central](https://img.shields.io/maven-central/v/uk.me.berndporr/iirj.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22uk.me.berndporr%22%20AND%20a:%22iirj%22)
to get the latest version.
## Android Studio
```
dependencies {
implementation group: 'uk.me.berndporr', name:'iirj', version: '1.3'
}
```
## Documentation
* `mvn javadoc:javadoc` generates the JavaDocs
* `mvn site` generates the web pages containing the documentation
under `target/site` describing all commands in detail.
## Testing
`mvn test` creates impulse responses in the subdirectories
for the different filters: `target/surefire-reports`.
To see the impulse and frequency responses run:
```
python3 ./plot_impulse_fresponse.py <filter>
```
where is <filter> is bessel, butterworth, chebyshevI or chebyshevII.
The script DetectorTest uses a bandpass filter to detect the
heartbeats of an ECG recording faking a matched filter which could
be also seen as a 1st approximation of a wavelet. The heartrate is
stored in hr.txt.
Have fun
/Bernd Porr
[http://www.berndporr.me.uk]
没有合适的资源?快使用搜索试试~ 我知道了~
iirj:用JAVA编写的高效IIR滤波器库
共33个文件
java:24个
xml:2个
png:1个
需积分: 36 20 下载量 104 浏览量
2021-05-25
18:29:32
上传
评论 3
收藏 180KB ZIP 举报
温馨提示
Iirj 用JAVA编写的IIR过滤器库。 高通,低通,带通和带阻分别为Butterworth,Bessel和Chebyshev I / II型。 它基于IIR1库[ ],而该库又基于Vinnie Falco的DSPFilters [ ]。 用法 import uk.me.berndporr.iirj.*; 建设者 Butterworth butterworth = new Butterworth(); 初始化 带阻 butterworth.bandStop(order,Samplingfreq,Center freq,Width in frequ); 带通 butterworth.bandPass(order,Samplingfreq,Center freq,Width in frequ); 低通 butterworth.lowPass(order,Samplingfr
资源详情
资源评论
资源推荐
收起资源包目录
iirj-master.zip (33个子文件)
iirj-master
pom.xml 4KB
filtertest.png 33KB
src
test
resources
ecg.dat 838KB
java
uk
me
berndporr
iirj
ButterworthTest.java 4KB
ChebyshevIITest.java 4KB
BesselTest.java 4KB
DetectorTest.java 3KB
ParameterChecksTest.java 4KB
ChebyshevITest.java 4KB
site
xdoc
index.xml 13KB
main
java
uk
me
berndporr
iirj
Biquad.java 4KB
LayoutBase.java 3KB
BandStopTransform.java 4KB
Butterworth.java 8KB
LowPassTransform.java 2KB
HighPassTransform.java 2KB
DirectFormII.java 2KB
BandPassTransform.java 3KB
Cascade.java 4KB
ChebyshevII.java 9KB
DirectFormI.java 2KB
PoleZeroPair.java 2KB
Bessel.java 8KB
DirectFormAbstract.java 1KB
ComplexPair.java 2KB
BiquadPoleState.java 1KB
ChebyshevI.java 9KB
MathSupplement.java 2KB
pom.xml.asc 299B
.gitignore 192B
README.md 2KB
plot_impulse_fresponse.py 1KB
LICENSE.txt 23KB
共 33 条
- 1
传奇panda
- 粉丝: 27
- 资源: 4581
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0