Warning, /education/labplot/tests/analysis/fourier/data/Butterworth.m is written in an unsupported language. File is not indexed.
0001 % This script is intended to create the reference values for the filter tests 0002 0003 clc; clear; close all; 0004 # pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/control-3.4.0.tar.gz" 0005 # pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/signal-1.4.3.tar.gz" 0006 0007 pkg load signal 0008 0009 fs = 10000; % [Hz] Sample frequency 0010 fc = 100; % [Hz] cut off frequency 0011 fsignal = 100; % [Hz] Signal frequency 0012 x = 0 : 1/fs : 1/fsignal * 10; % 10 periods 0013 y = sin(x * 2*pi * fsignal); 0014 0015 [b, a] = butter(1,fc/(fs/2), "low"); 0016 filtered_data = filter(b,a,y); 0017 csvwrite("butterworth.csv", [x; y; filtered_data]); 0018 0019 % plotting 0020 freqz(b,a,[],fs) 0021 0022 figure(); 0023 hold on; 0024 plot(x, y,'DisplayName','original'); 0025 plot(x, filtered_data,'DisplayName','filtered'); 0026 legend();