Thu Aug 6 06:36:24 UTC 2020 I: starting to build octave-signal/buster/arm64 on jenkins on '2020-08-06 06:36' Thu Aug 6 06:36:24 UTC 2020 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_10/18956/console.log Thu Aug 6 06:36:24 UTC 2020 I: Downloading source for buster/octave-signal=1.4.0-3 --2020-08-06 06:36:24-- http://deb.debian.org/debian/pool/main/o/octave-signal/octave-signal_1.4.0-3.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2110 (2.1K) Saving to: ‘octave-signal_1.4.0-3.dsc’ 0K .. 100% 171M=0s 2020-08-06 06:36:24 (171 MB/s) - ‘octave-signal_1.4.0-3.dsc’ saved [2110/2110] Thu Aug 6 06:36:24 UTC 2020 I: octave-signal_1.4.0-3.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: octave-signal Binary: octave-signal Architecture: any Version: 1.4.0-3 Maintainer: Debian Octave Group Uploaders: Rafael Laboissiere , Mike Miller Homepage: https://octave.sourceforge.io/signal/ Standards-Version: 4.3.0 Vcs-Browser: https://salsa.debian.org/pkg-octave-team/octave-signal Vcs-Git: https://salsa.debian.org/pkg-octave-team/octave-signal.git Testsuite: autopkgtest-pkg-octave Build-Depends: debhelper-compat (= 12), dh-octave, octave-control (>= 3.1.0) Build-Conflicts: octave-nan Package-List: octave-signal deb math optional arch=any Checksums-Sha1: 2a2e8d19e28ff63df89130cc1bb832b477ff4587 200823 octave-signal_1.4.0.orig.tar.gz afb3842647e067fd73455209f55dfdd2a58ff8fe 5848 octave-signal_1.4.0-3.debian.tar.xz Checksums-Sha256: 95d7053409aa2f5815bf55eb3b9a5dced2118dabe56ad1492f973108924cf5e7 200823 octave-signal_1.4.0.orig.tar.gz 79b00a29fad60cbe68f0a4f92674bd12784878eae9082d19c82fe3819298f134 5848 octave-signal_1.4.0-3.debian.tar.xz Files: 029a7ef2f478cacf6aae8c18997230c7 200823 octave-signal_1.4.0.orig.tar.gz 308590b09a53d2f9a49f08e5641076cb 5848 octave-signal_1.4.0-3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEP0ZDkUmP6HS9tdmPISSqGYN4XJAFAlwwblMACgkQISSqGYN4 XJDWChAAlQ9HBM54R7qvxdeyqufBJuN0lDPEfH21PIJmRRbbjodNVp8X7nDRPnBq OgO4h7NFwzjMsWTmOiW/5WAi01tyR2ZbUOIkuCCVclruuI752t9/CLBi4jSzuCR0 Mmj8fplq8NsRRLfUbMw2/mcUea4VB9pEYWwJkNTa9PtPzIvNnGCcACr3yB/PNqLT BojGsIK8uLSZyhr8YnNaf7UdqnT1KrcF/qJpFXLEBE7MsdD9B/MDUnr0uHEPFeRd QYXh5lXP3TGeEm9tL5hG5pv6asJYSvWESH9xQyAKgRU5sYdIkcla3QIpsLczTM/u ULl7R9hMsQNNvncBi4JKRSOq8ZFBRsaOeTCaLi/lBekhiWvSXN5pIyDa2zZWVqT1 MAAylBKYmhqx1lMyuOhZ0aTcxJ5gCtr+LOzNjeKymrI4Zh6IU6V6rcacN7uDTE9S 37XmpH+ckS1cdpCnro6JQmbNiONfv4Qdi7ffE69mi97oNPiBo0vwBRiJK6u4iQgF w0hRhZCqu47lhy68wb2ghQYxbf3RCXDO4kB9LwsXMOWdapE3s9X37/LW2b9pl2Ah oPlBghlGi5Oa//C8rIeO+VD1QxgTEQsWUpU+sO9x7Y4RIuMakB6AEnLsjsC3tH9W oXju1VzTXIrZ77uwphb+kvaAUV8kHBGQLrRgfwqf5HMTGqIiPJw= =fkYs -----END PGP SIGNATURE----- Thu Aug 6 06:36:24 UTC 2020 I: Checking whether the package is not for us Thu Aug 6 06:36:24 UTC 2020 I: Starting 1st build on remote node codethink-sled11-arm64.debian.net. Thu Aug 6 06:36:24 UTC 2020 I: Preparing to do remote build '1' on codethink-sled11-arm64.debian.net. Thu Aug 6 06:45:36 UTC 2020 I: Deleting $TMPDIR on codethink-sled11-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Sep 8 00:59:33 -12 2021 I: pbuilder-time-stamp: 1631105973 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [octave-signal_1.4.0-3.dsc] I: copying [./octave-signal_1.4.0.orig.tar.gz] I: copying [./octave-signal_1.4.0-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/var/lib/jenkins/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Fri Jan 4 20:44:03 2019 -12 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./octave-signal_1.4.0-3.dsc dpkg-source: info: extracting octave-signal in octave-signal-1.4.0 dpkg-source: info: unpacking octave-signal_1.4.0.orig.tar.gz dpkg-source: info: unpacking octave-signal_1.4.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying impinvar-tol.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/16537/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' DISTRIBUTION='' HOME='/var/lib/jenkins' HOST_ARCH='arm64' IFS=' ' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='16537' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/pbuilderrc_1Iy2 --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/b1 --logfile b1/build.log octave-signal_1.4.0-3.dsc' SUDO_GID='117' SUDO_UID='110' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' USERNAME='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.16:3128' I: uname -a Linux codethink-sled11-arm64 4.4.0-186-generic #216-Ubuntu SMP Wed Jul 1 05:35:21 UTC 2020 aarch64 GNU/Linux I: ls -l /bin total 4928 -rwxr-xr-x 1 root root 1216928 Apr 17 2019 bash -rwxr-xr-x 3 root root 34808 Jul 10 2019 bunzip2 -rwxr-xr-x 3 root root 34808 Jul 10 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep -rwxr-xr-x 3 root root 34808 Jul 10 2019 bzip2 -rwxr-xr-x 1 root root 14264 Jul 10 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore -rwxr-xr-x 1 root root 35576 Feb 28 2019 cat -rwxr-xr-x 1 root root 60256 Feb 28 2019 chgrp -rwxr-xr-x 1 root root 56096 Feb 28 2019 chmod -rwxr-xr-x 1 root root 64368 Feb 28 2019 chown -rwxr-xr-x 1 root root 134632 Feb 28 2019 cp -rwxr-xr-x 1 root root 129536 Jan 17 2019 dash -rwxr-xr-x 1 root root 97136 Feb 28 2019 date -rwxr-xr-x 1 root root 76736 Feb 28 2019 dd -rwxr-xr-x 1 root root 93752 Feb 28 2019 df -rwxr-xr-x 1 root root 138848 Feb 28 2019 dir -rwxr-xr-x 1 root root 75984 Jan 9 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname -rwxr-xr-x 1 root root 31368 Feb 28 2019 echo -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep -rwxr-xr-x 1 root root 27256 Feb 28 2019 false -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep -rwxr-xr-x 1 root root 68792 Jan 9 2019 findmnt -rwsr-xr-x 1 root root 34824 Apr 22 2020 fusermount -rwxr-xr-x 1 root root 174304 Jan 7 2019 grep -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe -rwxr-xr-x 1 root root 89656 Jan 5 2019 gzip -rwxr-xr-x 1 root root 18440 Sep 26 2018 hostname -rwxr-xr-x 1 root root 64472 Feb 28 2019 ln -rwxr-xr-x 1 root root 52544 Jul 26 2018 login -rwxr-xr-x 1 root root 138848 Feb 28 2019 ls -rwxr-xr-x 1 root root 108552 Jan 9 2019 lsblk -rwxr-xr-x 1 root root 76840 Feb 28 2019 mkdir -rwxr-xr-x 1 root root 64480 Feb 28 2019 mknod -rwxr-xr-x 1 root root 39736 Feb 28 2019 mktemp -rwxr-xr-x 1 root root 38840 Jan 9 2019 more -rwsr-xr-x 1 root root 47112 Jan 9 2019 mount -rwxr-xr-x 1 root root 14344 Jan 9 2019 mountpoint -rwxr-xr-x 1 root root 138736 Feb 28 2019 mv lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 35560 Feb 28 2019 pwd lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash -rwxr-xr-x 1 root root 43712 Feb 28 2019 readlink -rwxr-xr-x 1 root root 68440 Feb 28 2019 rm -rwxr-xr-x 1 root root 39624 Feb 28 2019 rmdir -rwxr-xr-x 1 root root 19144 Jan 21 2019 run-parts -rwxr-xr-x 1 root root 114016 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Sep 7 02:49 sh -> dash -rwxr-xr-x 1 root root 31384 Feb 28 2019 sleep -rwxr-xr-x 1 root root 72480 Feb 28 2019 stty -rwsr-xr-x 1 root root 59424 Jan 9 2019 su -rwxr-xr-x 1 root root 31416 Feb 28 2019 sync -rwxr-xr-x 1 root root 449416 Apr 23 2019 tar -rwxr-xr-x 1 root root 10560 Jan 21 2019 tempfile -rwxr-xr-x 1 root root 88968 Feb 28 2019 touch -rwxr-xr-x 1 root root 27256 Feb 28 2019 true -rwxr-xr-x 1 root root 14264 Apr 22 2020 ulockmgr_server -rwsr-xr-x 1 root root 30728 Jan 9 2019 umount -rwxr-xr-x 1 root root 31384 Feb 28 2019 uname -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress -rwxr-xr-x 1 root root 138848 Feb 28 2019 vdir -rwxr-xr-x 1 root root 34824 Jan 9 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 21 2019 which lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew I: user script /srv/workspace/pbuilder/16537/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dh-octave, octave-control (>= 3.1.0) Conflicts: octave-nan dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19168 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-octave; however: Package dh-octave is not installed. pbuilder-satisfydepends-dummy depends on octave-control (>= 3.1.0); however: Package octave-control is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: aglfn{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} ca-certificates{a} cme{a} debhelper{a} dh-autoreconf{a} dh-octave{a} dh-octave-autopkgtest{a} dh-strip-nondeterminism{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-freefont-otf{a} gettext{a} gettext-base{a} gfortran{a} gfortran-8{a} gnuplot-data{a} gnuplot-nox{a} groff-base{a} hdf5-helpers{a} intltool-debian{a} libaec-dev{a} libaec0{a} libamd2{a} libapp-cmd-perl{a} libarchive-zip-perl{a} libarpack2{a} libasound2{a} libasound2-data{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libb-hooks-op-check-perl{a} libblas-dev{a} libblas3{a} libboolean-perl{a} libbsd0{a} libbtf1{a} libcairo2{a} libcamd2{a} libcapture-tiny-perl{a} libcarp-assert-more-perl{a} libcarp-assert-perl{a} libccolamd2{a} libcholmod3{a} libclass-load-perl{a} libclone-choose-perl{a} libcolamd2{a} libconfig-model-perl{a} libconvert-binhex-perl{a} libcroco3{a} libcups2{a} libcurl3-gnutls{a} libcxsparse3{a} libdata-optlist-perl{a} libdatrie1{a} libdbus-1-3{a} libdevel-callchecker-perl{a} libdouble-conversion1{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-dev{a} libdrm-etnaviv1{a} libdrm-freedreno1{a} libdrm-nouveau2{a} libdrm-radeon1{a} libdrm-tegra0{a} libdrm2{a} libdynaloader-functions-perl{a} libedit2{a} libegl-mesa0{a} libegl1{a} libelf1{a} libencode-locale-perl{a} liberror-perl{a} libevdev2{a} libexpat1{a} libexporter-lite-perl{a} libexporter-tiny-perl{a} libfftw3-bin{a} libfftw3-dev{a} libfftw3-double3{a} libfftw3-long3{a} libfftw3-single3{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libflac8{a} libfltk-gl1.3{a} libfltk1.3{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgbm1{a} libgd3{a} libgetopt-long-descriptive-perl{a} libgfortran-8-dev{a} libgfortran5{a} libgl1{a} libgl1-mesa-dev{a} libgl1-mesa-dri{a} libgl2ps1.4{a} libglapi-mesa{a} libgles1{a} libgles2{a} libglib2.0-0{a} libglpk40{a} libglu1-mesa{a} libglvnd-core-dev{a} libglvnd-dev{a} libglvnd0{a} libglx-mesa0{a} libglx0{a} libgraphicsmagick++-q16-12{a} libgraphicsmagick-q16-3{a} libgraphite2-3{a} libgssapi-krb5-2{a} libgudev-1.0-0{a} libharfbuzz0b{a} libhash-merge-perl{a} libhdf5-103{a} libhdf5-cpp-103{a} libhdf5-dev{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libice6{a} libicu63{a} libinput-bin{a} libinput10{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libjack-jackd2-0{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libklu1{a} libkrb5-3{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} liblcms2-2{a} libldap-2.4-2{a} libldap-common{a} liblist-moreutils-perl{a} libllvm7{a} liblog-log4perl-perl{a} libltdl7{a} liblua5.3-0{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1{a} libmailtools-perl{a} libmetis5{a} libmime-tools-perl{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmouse-perl{a} libmousex-nativetraits-perl{a} libmousex-strictconstructor-perl{a} libmtdev1{a} libncurses-dev{a} libncurses6{a} libnet-http-perl{a} libnet-smtp-ssl-perl{a} libnet-ssleay-perl{a} libnghttp2-14{a} liboctave-dev{a} liboctave6{a} libogg0{a} libopengl0{a} libopus0{a} libpackage-stash-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-debcontrol-perl{a} libparse-recdescent-perl{a} libpath-tiny-perl{a} libpcre2-16-0{a} libpipeline1{a} libpixman-1-0{a} libpng16-16{a} libpod-pom-perl{a} libportaudio2{a} libpsl5{a} libpthread-stubs0-dev{a} libqhull7{a} libqrupdate1{a} libqscintilla2-qt5-13{a} libqscintilla2-qt5-l10n{a} libqt5core5a{a} libqt5dbus5{a} libqt5gui5{a} libqt5help5{a} libqt5network5{a} libqt5opengl5{a} libqt5printsupport5{a} libqt5sql5{a} libqt5widgets5{a} libreadline-dev{a} libreadline7{a} libregexp-common-perl{a} librtmp1{a} libsamplerate0{a} libsasl2-2{a} libsasl2-modules-db{a} libsensors-config{a} libsensors5{a} libsigsegv2{a} libslicot0{a} libsm6{a} libsndfile1{a} libssh2-1{a} libssl1.1{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-install-perl{a} libsuitesparseconfig5{a} libsz2{a} libtext-unidecode-perl{a} libthai-data{a} libthai0{a} libtiff5{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libumfpack5{a} liburi-perl{a} libvorbis0a{a} libvorbisenc2{a} libwacom-common{a} libwacom2{a} libwayland-client0{a} libwayland-server0{a} libwebp6{a} libwebpmux3{a} libwmf0.2-7{a} libwww-perl{a} libwww-robotrules-perl{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb-dev{a} libx11-xcb1{a} libxau-dev{a} libxau6{a} libxcb-dri2-0{a} libxcb-dri2-0-dev{a} libxcb-dri3-0{a} libxcb-dri3-dev{a} libxcb-glx0{a} libxcb-glx0-dev{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present-dev{a} libxcb-present0{a} libxcb-randr0{a} libxcb-randr0-dev{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-render0-dev{a} libxcb-shape0{a} libxcb-shape0-dev{a} libxcb-shm0{a} libxcb-sync-dev{a} libxcb-sync1{a} libxcb-util0{a} libxcb-xfixes0{a} libxcb-xfixes0-dev{a} libxcb-xinerama0{a} libxcb-xkb1{a} libxcb1{a} libxcb1-dev{a} libxcursor1{a} libxdamage-dev{a} libxdamage1{a} libxdmcp-dev{a} libxdmcp6{a} libxext-dev{a} libxext6{a} libxfixes-dev{a} libxfixes3{a} libxft2{a} libxi6{a} libxinerama1{a} libxkbcommon-x11-0{a} libxkbcommon0{a} libxml-libxml-perl{a} libxml-namespacesupport-perl{a} libxml-sax-base-perl{a} libxml-sax-perl{a} libxml2{a} libxpm4{a} libxrender1{a} libxshmfence-dev{a} libxshmfence1{a} libxxf86vm-dev{a} libxxf86vm1{a} libyaml-perl{a} lsb-base{a} m4{a} man-db{a} mesa-common-dev{a} netbase{a} octave{a} octave-common{a} octave-control{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} readline-common{a} sensible-utils{a} tex-common{a} texinfo{a} ucf{a} x11-common{a} x11proto-core-dev{a} x11proto-damage-dev{a} x11proto-dev{a} x11proto-fixes-dev{a} x11proto-xext-dev{a} x11proto-xf86vidmode-dev{a} xkb-data{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: bash-completion curl dbus default-jre-headless epstool fonts-liberation ghostscript groff gsfonts krb5-locales libarchive-cpio-perl libatlas3-base libauthen-sasl-perl libclass-method-modifiers-perl libclone-perl libclone-pp-perl libconfig-model-approx-perl libconfig-model-dpkg-perl libconfig-model-lcdproc-perl libconfig-model-openssh-perl libconfig-model-systemd-perl libconfig-model-tkui-perl libdata-dump-perl libfuse-perl libglib2.0-data libgpm2 libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libipc-shareable-perl libjson-xs-perl liblog-dispatch-perl libltdl-dev libmail-sendmail-perl libopenblas-base libpackage-stash-xs-perl libqt5sql5-ibase libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-tds libqt5svg5 libsasl2-modules libtext-levenshtein-damerau-perl libtie-ixhash-perl libunicode-utf8-perl libwacom-bin libxml-sax-expat-perl libyaml-libyaml-perl libyaml-syck-perl lynx octave-doc pstoedit publicsuffix qt5-gtk-platformtheme qttranslations5-l10n shared-mime-info wget xdg-user-dirs 0 packages upgraded, 352 newly installed, 0 to remove and 0 not upgraded. Need to get 116 MB of archives. After unpacking 613 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main arm64 libbsd0 arm64 0.9.1-2 [97.4 kB] Get: 2 http://deb.debian.org/debian buster/main arm64 bsdmainutils arm64 11.1.2+b1 [185 kB] Get: 3 http://deb.debian.org/debian buster/main arm64 libuchardet0 arm64 0.0.6-3 [65.0 kB] Get: 4 http://deb.debian.org/debian buster/main arm64 groff-base arm64 1.22.4-3 [869 kB] Get: 5 http://deb.debian.org/debian buster/main arm64 libpipeline1 arm64 1.5.1-2 [29.8 kB] Get: 6 http://deb.debian.org/debian buster/main arm64 man-db arm64 2.8.5-2 [1258 kB] Get: 7 http://deb.debian.org/debian buster/main arm64 sensible-utils all 0.0.12 [15.8 kB] Get: 8 http://deb.debian.org/debian buster/main arm64 ucf all 3.0038+nmu1 [69.0 kB] Get: 9 http://deb.debian.org/debian buster/main arm64 tex-common all 6.11 [53.1 kB] Get: 10 http://deb.debian.org/debian buster/main arm64 netbase all 5.6 [19.4 kB] Get: 11 http://deb.debian.org/debian buster/main arm64 readline-common all 7.0-5 [70.6 kB] Get: 12 http://deb.debian.org/debian buster/main arm64 libmagic-mgc arm64 1:5.35-4+deb10u1 [242 kB] Get: 13 http://deb.debian.org/debian buster/main arm64 libmagic1 arm64 1:5.35-4+deb10u1 [115 kB] Get: 14 http://deb.debian.org/debian buster/main arm64 file arm64 1:5.35-4+deb10u1 [66.4 kB] Get: 15 http://deb.debian.org/debian buster/main arm64 gettext-base arm64 0.19.8.1-9 [120 kB] Get: 16 http://deb.debian.org/debian buster/main arm64 aglfn all 1.7-3 [29.2 kB] Get: 17 http://deb.debian.org/debian buster/main arm64 libsigsegv2 arm64 2.12-2 [32.3 kB] Get: 18 http://deb.debian.org/debian buster/main arm64 m4 arm64 1.4.18-2 [198 kB] Get: 19 http://deb.debian.org/debian buster/main arm64 autoconf all 2.69-11 [341 kB] Get: 20 http://deb.debian.org/debian buster/main arm64 autotools-dev all 20180224.1 [77.0 kB] Get: 21 http://deb.debian.org/debian buster/main arm64 automake all 1:1.16.1-4 [771 kB] Get: 22 http://deb.debian.org/debian buster/main arm64 autopoint all 0.19.8.1-9 [434 kB] Get: 23 http://deb.debian.org/debian buster/main arm64 libssl1.1 arm64 1.1.1d-0+deb10u3 [1382 kB] Get: 24 http://deb.debian.org/debian buster/main arm64 openssl arm64 1.1.1d-0+deb10u3 [823 kB] Get: 25 http://deb.debian.org/debian buster/main arm64 ca-certificates all 20190110 [157 kB] Get: 26 http://deb.debian.org/debian buster/main arm64 libcapture-tiny-perl all 0.48-1 [26.0 kB] Get: 27 http://deb.debian.org/debian buster/main arm64 libparams-util-perl arm64 1.07-3+b4 [22.5 kB] Get: 28 http://deb.debian.org/debian buster/main arm64 libsub-install-perl all 0.928-1 [11.4 kB] Get: 29 http://deb.debian.org/debian buster/main arm64 libdata-optlist-perl all 0.110-1 [10.6 kB] Get: 30 http://deb.debian.org/debian buster/main arm64 libb-hooks-op-check-perl arm64 0.22-1+b1 [11.4 kB] Get: 31 http://deb.debian.org/debian buster/main arm64 libdynaloader-functions-perl all 0.003-1 [12.6 kB] Get: 32 http://deb.debian.org/debian buster/main arm64 libdevel-callchecker-perl arm64 0.008-1 [15.6 kB] Get: 33 http://deb.debian.org/debian buster/main arm64 libparams-classify-perl arm64 0.015-1+b1 [25.4 kB] Get: 34 http://deb.debian.org/debian buster/main arm64 libmodule-runtime-perl all 0.016-1 [19.4 kB] Get: 35 http://deb.debian.org/debian buster/main arm64 libtry-tiny-perl all 0.30-1 [23.3 kB] Get: 36 http://deb.debian.org/debian buster/main arm64 libmodule-implementation-perl all 0.09-1 [12.9 kB] Get: 37 http://deb.debian.org/debian buster/main arm64 libpackage-stash-perl all 0.38-1 [21.7 kB] Get: 38 http://deb.debian.org/debian buster/main arm64 libclass-load-perl all 0.25-1 [16.1 kB] Get: 39 http://deb.debian.org/debian buster/main arm64 libio-stringy-perl all 2.111-3 [56.5 kB] Get: 40 http://deb.debian.org/debian buster/main arm64 libparams-validate-perl arm64 1.29-1+b1 [66.3 kB] Get: 41 http://deb.debian.org/debian buster/main arm64 libsub-exporter-perl all 0.987-1 [47.2 kB] Get: 42 http://deb.debian.org/debian buster/main arm64 libgetopt-long-descriptive-perl all 0.103-2 [27.8 kB] Get: 43 http://deb.debian.org/debian buster/main arm64 libio-tiecombine-perl all 1.005-1 [13.0 kB] Get: 44 http://deb.debian.org/debian buster/main arm64 libmodule-pluggable-perl all 5.2-1 [25.7 kB] Get: 45 http://deb.debian.org/debian buster/main arm64 libstring-rewriteprefix-perl all 0.007-2 [6448 B] Get: 46 http://deb.debian.org/debian buster/main arm64 libapp-cmd-perl all 0.331-1 [63.9 kB] Get: 47 http://deb.debian.org/debian buster/main arm64 libboolean-perl all 0.46-1 [11.1 kB] Get: 48 http://deb.debian.org/debian buster/main arm64 libcarp-assert-perl all 0.21-1 [18.2 kB] Get: 49 http://deb.debian.org/debian buster/main arm64 libcarp-assert-more-perl all 1.16-1 [15.6 kB] Get: 50 http://deb.debian.org/debian buster/main arm64 libfile-which-perl all 1.23-1 [16.6 kB] Get: 51 http://deb.debian.org/debian buster/main arm64 libfile-homedir-perl all 1.004-1 [42.7 kB] Get: 52 http://deb.debian.org/debian buster/main arm64 libclone-choose-perl all 0.010-1 [8424 B] Get: 53 http://deb.debian.org/debian buster/main arm64 libhash-merge-perl all 0.300-1 [14.3 kB] Get: 54 http://deb.debian.org/debian buster/main arm64 libjson-perl all 4.02000-1 [88.8 kB] Get: 55 http://deb.debian.org/debian buster/main arm64 libexporter-tiny-perl all 1.002001-1 [36.9 kB] Get: 56 http://deb.debian.org/debian buster/main arm64 liblist-moreutils-perl arm64 0.416-1+b4 [62.4 kB] Get: 57 http://deb.debian.org/debian buster/main arm64 liblog-log4perl-perl all 1.49-1 [377 kB] Get: 58 http://deb.debian.org/debian buster/main arm64 libmouse-perl arm64 2.5.6-1+b1 [170 kB] Get: 59 http://deb.debian.org/debian buster/main arm64 libmousex-nativetraits-perl all 1.09-2 [67.4 kB] Get: 60 http://deb.debian.org/debian buster/main arm64 libmousex-strictconstructor-perl all 0.02-2 [4996 B] Get: 61 http://deb.debian.org/debian buster/main arm64 libparse-recdescent-perl all 1.967015+dfsg-2 [159 kB] Get: 62 http://deb.debian.org/debian buster/main arm64 libpath-tiny-perl all 0.108-1 [53.3 kB] Get: 63 http://deb.debian.org/debian buster/main arm64 libpod-pom-perl all 2.01-3 [67.0 kB] Get: 64 http://deb.debian.org/debian buster/main arm64 libregexp-common-perl all 2017060201-1 [177 kB] Get: 65 http://deb.debian.org/debian buster/main arm64 libconfig-model-perl all 2.133-1 [456 kB] Get: 66 http://deb.debian.org/debian buster/main arm64 libyaml-perl all 1.27-1 [66.8 kB] Get: 67 http://deb.debian.org/debian buster/main arm64 cme all 1.029-1 [81.0 kB] Get: 68 http://deb.debian.org/debian buster/main arm64 libtool all 2.4.6-9 [547 kB] Get: 69 http://deb.debian.org/debian buster/main arm64 dh-autoreconf all 19 [16.9 kB] Get: 70 http://deb.debian.org/debian buster/main arm64 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 71 http://deb.debian.org/debian buster/main arm64 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 72 http://deb.debian.org/debian buster/main arm64 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 73 http://deb.debian.org/debian buster/main arm64 libelf1 arm64 0.176-1.1 [160 kB] Get: 74 http://deb.debian.org/debian buster/main arm64 dwz arm64 0.12-3 [71.7 kB] Get: 75 http://deb.debian.org/debian buster/main arm64 libglib2.0-0 arm64 2.58.3-2+deb10u2 [1185 kB] Get: 76 http://deb.debian.org/debian buster/main arm64 libicu63 arm64 63.1-6+deb10u1 [8151 kB] Get: 77 http://deb.debian.org/debian buster/main arm64 libxml2 arm64 2.9.4+dfsg1-7+b3 [623 kB] Get: 78 http://deb.debian.org/debian buster/main arm64 libcroco3 arm64 0.6.12-3 [140 kB] Get: 79 http://deb.debian.org/debian buster/main arm64 libncurses6 arm64 6.1+20181013-2+deb10u2 [92.6 kB] Get: 80 http://deb.debian.org/debian buster/main arm64 gettext arm64 0.19.8.1-9 [1261 kB] Get: 81 http://deb.debian.org/debian buster/main arm64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 82 http://deb.debian.org/debian buster/main arm64 po-debconf all 1.0.21 [248 kB] Get: 83 http://deb.debian.org/debian buster/main arm64 debhelper all 12.1.1 [1016 kB] Get: 84 http://deb.debian.org/debian buster/main arm64 libsuitesparseconfig5 arm64 1:5.4.0+dfsg-1 [20.7 kB] Get: 85 http://deb.debian.org/debian buster/main arm64 libamd2 arm64 1:5.4.0+dfsg-1 [30.7 kB] Get: 86 http://deb.debian.org/debian buster/main arm64 libgfortran5 arm64 8.3.0-6 [298 kB] Get: 87 http://deb.debian.org/debian buster/main arm64 libblas3 arm64 3.8.0-2 [100 kB] Get: 88 http://deb.debian.org/debian buster/main arm64 liblapack3 arm64 3.8.0-2 [1489 kB] Get: 89 http://deb.debian.org/debian buster/main arm64 libarpack2 arm64 3.7.0-2 [81.7 kB] Get: 90 http://deb.debian.org/debian buster/main arm64 libcamd2 arm64 1:5.4.0+dfsg-1 [31.8 kB] Get: 91 http://deb.debian.org/debian buster/main arm64 libccolamd2 arm64 1:5.4.0+dfsg-1 [34.2 kB] Get: 92 http://deb.debian.org/debian buster/main arm64 libcolamd2 arm64 1:5.4.0+dfsg-1 [29.2 kB] Get: 93 http://deb.debian.org/debian buster/main arm64 libmetis5 arm64 5.1.0.dfsg-5+b2 [146 kB] Get: 94 http://deb.debian.org/debian buster/main arm64 libcholmod3 arm64 1:5.4.0+dfsg-1 [281 kB] Get: 95 http://deb.debian.org/debian buster/main arm64 libkeyutils1 arm64 1.6-6 [14.9 kB] Get: 96 http://deb.debian.org/debian buster/main arm64 libkrb5support0 arm64 1.17-3 [64.7 kB] Get: 97 http://deb.debian.org/debian buster/main arm64 libk5crypto3 arm64 1.17-3 [122 kB] Get: 98 http://deb.debian.org/debian buster/main arm64 libkrb5-3 arm64 1.17-3 [353 kB] Get: 99 http://deb.debian.org/debian buster/main arm64 libgssapi-krb5-2 arm64 1.17-3 [150 kB] Get: 100 http://deb.debian.org/debian buster/main arm64 libsasl2-modules-db arm64 2.1.27+dfsg-1+deb10u1 [69.3 kB] Get: 101 http://deb.debian.org/debian buster/main arm64 libsasl2-2 arm64 2.1.27+dfsg-1+deb10u1 [105 kB] Get: 102 http://deb.debian.org/debian buster/main arm64 libldap-common all 2.4.47+dfsg-3+deb10u2 [89.7 kB] Get: 103 http://deb.debian.org/debian buster/main arm64 libldap-2.4-2 arm64 2.4.47+dfsg-3+deb10u2 [216 kB] Get: 104 http://deb.debian.org/debian buster/main arm64 libnghttp2-14 arm64 1.36.0-2+deb10u1 [81.9 kB] Get: 105 http://deb.debian.org/debian buster/main arm64 libpsl5 arm64 0.20.2-2 [53.6 kB] Get: 106 http://deb.debian.org/debian buster/main arm64 librtmp1 arm64 2.4+20151223.gitfa8646d.1-2 [55.7 kB] Get: 107 http://deb.debian.org/debian buster/main arm64 libssh2-1 arm64 1.8.0-2.1 [135 kB] Get: 108 http://deb.debian.org/debian buster/main arm64 libcurl3-gnutls arm64 7.64.0-4+deb10u1 [310 kB] Get: 109 http://deb.debian.org/debian buster/main arm64 libcxsparse3 arm64 1:5.4.0+dfsg-1 [69.1 kB] Get: 110 http://deb.debian.org/debian buster/main arm64 libfftw3-double3 arm64 3.3.8-2 [385 kB] Get: 111 http://deb.debian.org/debian buster/main arm64 libfftw3-single3 arm64 3.3.8-2 [630 kB] Get: 112 http://deb.debian.org/debian buster/main arm64 libexpat1 arm64 2.2.6-2+deb10u1 [85.4 kB] Get: 113 http://deb.debian.org/debian buster/main arm64 libpng16-16 arm64 1.6.36-6 [287 kB] Get: 114 http://deb.debian.org/debian buster/main arm64 libfreetype6 arm64 2.9.1-3+deb10u1 [355 kB] Get: 115 http://deb.debian.org/debian buster/main arm64 fonts-dejavu-core all 2.37-1 [1068 kB] Get: 116 http://deb.debian.org/debian buster/main arm64 fontconfig-config all 2.13.1-2 [280 kB] Get: 117 http://deb.debian.org/debian buster/main arm64 libfontconfig1 arm64 2.13.1-2 [343 kB] Get: 118 http://deb.debian.org/debian buster/main arm64 libglvnd0 arm64 1.1.0-1 [42.4 kB] Get: 119 http://deb.debian.org/debian buster/main arm64 libxau6 arm64 1:1.0.8-1+b2 [19.3 kB] Get: 120 http://deb.debian.org/debian buster/main arm64 libxdmcp6 arm64 1:1.1.2-3 [25.4 kB] Get: 121 http://deb.debian.org/debian buster/main arm64 libxcb1 arm64 1.13.1-2 [135 kB] Get: 122 http://deb.debian.org/debian buster/main arm64 libx11-data all 2:1.6.7-1 [298 kB] Get: 123 http://deb.debian.org/debian buster/main arm64 libx11-6 arm64 2:1.6.7-1 [735 kB] Get: 124 http://deb.debian.org/debian buster/main arm64 libxext6 arm64 2:1.3.3-1+b2 [48.6 kB] Get: 125 http://deb.debian.org/debian buster/main arm64 libdrm-common all 2.4.97-1 [13.8 kB] Get: 126 http://deb.debian.org/debian buster/main arm64 libdrm2 arm64 2.4.97-1 [39.5 kB] Get: 127 http://deb.debian.org/debian buster/main arm64 libglapi-mesa arm64 18.3.6-2+deb10u1 [74.8 kB] Get: 128 http://deb.debian.org/debian buster/main arm64 libx11-xcb1 arm64 2:1.6.7-1 [190 kB] Get: 129 http://deb.debian.org/debian buster/main arm64 libxcb-dri2-0 arm64 1.13.1-2 [101 kB] Get: 130 http://deb.debian.org/debian buster/main arm64 libxcb-dri3-0 arm64 1.13.1-2 [100 kB] Get: 131 http://deb.debian.org/debian buster/main arm64 libxcb-glx0 arm64 1.13.1-2 [116 kB] Get: 132 http://deb.debian.org/debian buster/main arm64 libxcb-present0 arm64 1.13.1-2 [99.1 kB] Get: 133 http://deb.debian.org/debian buster/main arm64 libxcb-sync1 arm64 1.13.1-2 [102 kB] Get: 134 http://deb.debian.org/debian buster/main arm64 libxfixes3 arm64 1:5.0.3-1 [21.0 kB] Get: 135 http://deb.debian.org/debian buster/main arm64 libxdamage1 arm64 1:1.1.4-3+b3 [14.8 kB] Get: 136 http://deb.debian.org/debian buster/main arm64 libxshmfence1 arm64 1.3-1 [8712 B] Get: 137 http://deb.debian.org/debian buster/main arm64 libxxf86vm1 arm64 1:1.1.4-1+b2 [20.1 kB] Get: 138 http://deb.debian.org/debian buster/main arm64 libdrm-amdgpu1 arm64 2.4.97-1 [26.6 kB] Get: 139 http://deb.debian.org/debian buster/main arm64 libdrm-etnaviv1 arm64 2.4.97-1 [21.0 kB] Get: 140 http://deb.debian.org/debian buster/main arm64 libdrm-nouveau2 arm64 2.4.97-1 [25.5 kB] Get: 141 http://deb.debian.org/debian buster/main arm64 libdrm-radeon1 arm64 2.4.97-1 [30.0 kB] Get: 142 http://deb.debian.org/debian buster/main arm64 libedit2 arm64 3.1-20181209-1 [91.2 kB] Get: 143 http://deb.debian.org/debian buster/main arm64 libllvm7 arm64 1:7.0.1-8 [10.8 MB] Get: 144 http://deb.debian.org/debian buster/main arm64 libsensors-config all 1:3.5.0-3 [31.6 kB] Get: 145 http://deb.debian.org/debian buster/main arm64 libsensors5 arm64 1:3.5.0-3 [51.8 kB] Get: 146 http://deb.debian.org/debian buster/main arm64 libgl1-mesa-dri arm64 18.3.6-2+deb10u1 [4910 kB] Get: 147 http://deb.debian.org/debian buster/main arm64 libglx-mesa0 arm64 18.3.6-2+deb10u1 [180 kB] Get: 148 http://deb.debian.org/debian buster/main arm64 libglx0 arm64 1.1.0-1 [29.0 kB] Get: 149 http://deb.debian.org/debian buster/main arm64 libgl1 arm64 1.1.0-1 [92.5 kB] Get: 150 http://deb.debian.org/debian buster/main arm64 libgl2ps1.4 arm64 1.4.0+dfsg1-2 [33.5 kB] Get: 151 http://deb.debian.org/debian buster/main arm64 libglu1-mesa arm64 9.0.0-2.1+b3 [146 kB] Get: 152 http://deb.debian.org/debian buster/main arm64 libjbig0 arm64 2.1-3.1+b2 [27.8 kB] Get: 153 http://deb.debian.org/debian buster/main arm64 libjpeg62-turbo arm64 1:1.5.2-2+b1 [115 kB] Get: 154 http://deb.debian.org/debian buster/main arm64 libwebp6 arm64 0.6.1-2 [233 kB] Get: 155 http://deb.debian.org/debian buster/main arm64 libtiff5 arm64 4.1.0+git191117-2~deb10u1 [259 kB] Get: 156 http://deb.debian.org/debian buster/main arm64 lsb-base all 10.2019051400 [28.4 kB] Get: 157 http://deb.debian.org/debian buster/main arm64 x11-common all 1:7.7+19 [251 kB] Get: 158 http://deb.debian.org/debian buster/main arm64 libice6 arm64 2:1.0.9-2 [52.0 kB] Get: 159 http://deb.debian.org/debian buster/main arm64 liblcms2-2 arm64 2.9-3 [137 kB] Get: 160 http://deb.debian.org/debian buster/main arm64 libsm6 arm64 2:1.2.3-1 [34.0 kB] Get: 161 http://deb.debian.org/debian buster/main arm64 libwebpmux3 arm64 0.6.1-2 [95.4 kB] Get: 162 http://deb.debian.org/debian buster/main arm64 libwmf0.2-7 arm64 0.2.8.4-14 [152 kB] Get: 163 http://deb.debian.org/debian buster/main arm64 libgraphicsmagick-q16-3 arm64 1.4+really1.3.35-1~deb10u1 [1023 kB] Get: 164 http://deb.debian.org/debian buster/main arm64 libgraphicsmagick++-q16-12 arm64 1.4+really1.3.35-1~deb10u1 [122 kB] Get: 165 http://deb.debian.org/debian buster/main arm64 libaec0 arm64 1.0.2-1 [18.8 kB] Get: 166 http://deb.debian.org/debian buster/main arm64 libsz2 arm64 1.0.2-1 [6456 B] Get: 167 http://deb.debian.org/debian buster/main arm64 libhdf5-103 arm64 1.10.4+repack-10 [1168 kB] Get: 168 http://deb.debian.org/debian buster/main arm64 libqrupdate1 arm64 1.1.2-3 [31.5 kB] Get: 169 http://deb.debian.org/debian buster/main arm64 libreadline7 arm64 7.0-5 [134 kB] Get: 170 http://deb.debian.org/debian buster/main arm64 libumfpack5 arm64 1:5.4.0+dfsg-1 [197 kB] Get: 171 http://deb.debian.org/debian buster/main arm64 liboctave6 arm64 4.4.1-5 [6295 kB] Get: 172 http://deb.debian.org/debian buster/main arm64 libasound2-data all 1.1.8-1 [59.6 kB] Get: 173 http://deb.debian.org/debian buster/main arm64 libasound2 arm64 1.1.8-1 [333 kB] Get: 174 http://deb.debian.org/debian buster/main arm64 libxrender1 arm64 1:0.9.10-1 [30.4 kB] Get: 175 http://deb.debian.org/debian buster/main arm64 libxcursor1 arm64 1:1.1.15-2 [36.0 kB] Get: 176 http://deb.debian.org/debian buster/main arm64 libxft2 arm64 2.3.2-2 [51.3 kB] Get: 177 http://deb.debian.org/debian buster/main arm64 libxinerama1 arm64 2:1.1.4-2 [17.7 kB] Get: 178 http://deb.debian.org/debian buster/main arm64 libfltk1.3 arm64 1.3.4-9 [523 kB] Get: 179 http://deb.debian.org/debian buster/main arm64 libfltk-gl1.3 arm64 1.3.4-9 [70.0 kB] Get: 180 http://deb.debian.org/debian buster/main arm64 libltdl7 arm64 2.4.6-9 [389 kB] Get: 181 http://deb.debian.org/debian buster/main arm64 libglpk40 arm64 4.65-2 [336 kB] Get: 182 http://deb.debian.org/debian buster/main arm64 libbtf1 arm64 1:5.4.0+dfsg-1 [22.1 kB] Get: 183 http://deb.debian.org/debian buster/main arm64 libklu1 arm64 1:5.4.0+dfsg-1 [71.8 kB] Get: 184 http://deb.debian.org/debian buster/main arm64 libopus0 arm64 1.3-1 [171 kB] Get: 185 http://deb.debian.org/debian buster/main arm64 libsamplerate0 arm64 0.1.9-2 [942 kB] Get: 186 http://deb.debian.org/debian buster/main arm64 libjack-jackd2-0 arm64 1.9.12~dfsg-2 [286 kB] Get: 187 http://deb.debian.org/debian buster/main arm64 libportaudio2 arm64 19.6.0-1 [54.9 kB] Get: 188 http://deb.debian.org/debian buster/main arm64 libqhull7 arm64 2015.2-4 [175 kB] Get: 189 http://deb.debian.org/debian buster/main arm64 libqscintilla2-qt5-l10n all 2.10.4+dfsg-2.1 [53.7 kB] Get: 190 http://deb.debian.org/debian buster/main arm64 libdouble-conversion1 arm64 3.1.0-3 [36.0 kB] Get: 191 http://deb.debian.org/debian buster/main arm64 libpcre2-16-0 arm64 10.32-5 [176 kB] Get: 192 http://deb.debian.org/debian buster/main arm64 libqt5core5a arm64 5.11.3+dfsg1-1+deb10u3 [1796 kB] Get: 193 http://deb.debian.org/debian buster/main arm64 fontconfig arm64 2.13.1-2 [405 kB] Get: 194 http://deb.debian.org/debian buster/main arm64 libwayland-server0 arm64 1.16.0-1 [31.8 kB] Get: 195 http://deb.debian.org/debian buster/main arm64 libgbm1 arm64 18.3.6-2+deb10u1 [67.1 kB] Get: 196 http://deb.debian.org/debian buster/main arm64 libwayland-client0 arm64 1.16.0-1 [25.9 kB] Get: 197 http://deb.debian.org/debian buster/main arm64 libxcb-xfixes0 arm64 1.13.1-2 [103 kB] Get: 198 http://deb.debian.org/debian buster/main arm64 libegl-mesa0 arm64 18.3.6-2+deb10u1 [130 kB] Get: 199 http://deb.debian.org/debian buster/main arm64 libegl1 arm64 1.1.0-1 [32.8 kB] Get: 200 http://deb.debian.org/debian buster/main arm64 libgraphite2-3 arm64 1.3.13-7 [75.8 kB] Get: 201 http://deb.debian.org/debian buster/main arm64 libharfbuzz0b arm64 2.3.1-1 [1155 kB] Get: 202 http://deb.debian.org/debian buster/main arm64 libevdev2 arm64 1.6.0+dfsg-1 [29.2 kB] Get: 203 http://deb.debian.org/debian buster/main arm64 libmtdev1 arm64 1.1.5-1+b1 [21.3 kB] Get: 204 http://deb.debian.org/debian buster/main arm64 libgudev-1.0-0 arm64 232-2 [11.6 kB] Get: 205 http://deb.debian.org/debian buster/main arm64 libwacom-common all 0.32-1 [39.1 kB] Get: 206 http://deb.debian.org/debian buster/main arm64 libwacom2 arm64 0.32-1 [17.9 kB] Get: 207 http://deb.debian.org/debian buster/main arm64 libinput-bin arm64 1.12.6-2+deb10u1 [17.1 kB] Get: 208 http://deb.debian.org/debian buster/main arm64 libinput10 arm64 1.12.6-2+deb10u1 [97.8 kB] Get: 209 http://deb.debian.org/debian buster/main arm64 libdbus-1-3 arm64 1.12.20-0+deb10u1 [206 kB] Get: 210 http://deb.debian.org/debian buster/main arm64 libqt5dbus5 arm64 5.11.3+dfsg1-1+deb10u3 [217 kB] Get: 211 http://deb.debian.org/debian buster/main arm64 libqt5network5 arm64 5.11.3+dfsg1-1+deb10u3 [631 kB] Get: 212 http://deb.debian.org/debian buster/main arm64 libxcb-icccm4 arm64 0.4.1-1.1 [26.9 kB] Get: 213 http://deb.debian.org/debian buster/main arm64 libxcb-shm0 arm64 1.13.1-2 [99.3 kB] Get: 214 http://deb.debian.org/debian buster/main arm64 libxcb-util0 arm64 0.3.8-3+b2 [22.5 kB] Get: 215 http://deb.debian.org/debian buster/main arm64 libxcb-image0 arm64 0.4.0-1+b2 [23.2 kB] Get: 216 http://deb.debian.org/debian buster/main arm64 libxcb-keysyms1 arm64 0.4.0-1+b2 [16.0 kB] Get: 217 http://deb.debian.org/debian buster/main arm64 libxcb-randr0 arm64 1.13.1-2 [110 kB] Get: 218 http://deb.debian.org/debian buster/main arm64 libxcb-render0 arm64 1.13.1-2 [108 kB] Get: 219 http://deb.debian.org/debian buster/main arm64 libxcb-render-util0 arm64 0.3.9-1+b1 [17.5 kB] Get: 220 http://deb.debian.org/debian buster/main arm64 libxcb-shape0 arm64 1.13.1-2 [99.6 kB] Get: 221 http://deb.debian.org/debian buster/main arm64 libxcb-xinerama0 arm64 1.13.1-2 [98.9 kB] Get: 222 http://deb.debian.org/debian buster/main arm64 libxcb-xkb1 arm64 1.13.1-2 [122 kB] Get: 223 http://deb.debian.org/debian buster/main arm64 libxi6 arm64 2:1.7.9-1 [79.0 kB] Get: 224 http://deb.debian.org/debian buster/main arm64 xkb-data all 2.26-2 [681 kB] Get: 225 http://deb.debian.org/debian buster/main arm64 libxkbcommon0 arm64 0.8.2-1 [118 kB] Get: 226 http://deb.debian.org/debian buster/main arm64 libxkbcommon-x11-0 arm64 0.8.2-1 [39.0 kB] Get: 227 http://deb.debian.org/debian buster/main arm64 libqt5gui5 arm64 5.11.3+dfsg1-1+deb10u3 [2577 kB] Get: 228 http://deb.debian.org/debian buster/main arm64 libavahi-common-data arm64 0.7-4+b1 [122 kB] Get: 229 http://deb.debian.org/debian buster/main arm64 libavahi-common3 arm64 0.7-4+b1 [53.5 kB] Get: 230 http://deb.debian.org/debian buster/main arm64 libavahi-client3 arm64 0.7-4+b1 [56.8 kB] Get: 231 http://deb.debian.org/debian buster/main arm64 libcups2 arm64 2.2.10-6+deb10u3 [310 kB] Get: 232 http://deb.debian.org/debian buster/main arm64 libqt5widgets5 arm64 5.11.3+dfsg1-1+deb10u3 [2141 kB] Get: 233 http://deb.debian.org/debian buster/main arm64 libqt5printsupport5 arm64 5.11.3+dfsg1-1+deb10u3 [210 kB] Get: 234 http://deb.debian.org/debian buster/main arm64 libqscintilla2-qt5-13 arm64 2.10.4+dfsg-2.1 [952 kB] Get: 235 http://deb.debian.org/debian buster/main arm64 libqt5sql5 arm64 5.11.3+dfsg1-1+deb10u3 [139 kB] Get: 236 http://deb.debian.org/debian buster/main arm64 libqt5help5 arm64 5.11.3-4 [142 kB] Get: 237 http://deb.debian.org/debian buster/main arm64 libqt5opengl5 arm64 5.11.3+dfsg1-1+deb10u3 [153 kB] Get: 238 http://deb.debian.org/debian buster/main arm64 libogg0 arm64 1.3.2-1+b1 [18.4 kB] Get: 239 http://deb.debian.org/debian buster/main arm64 libflac8 arm64 1.3.2-3 [177 kB] Get: 240 http://deb.debian.org/debian buster/main arm64 libvorbis0a arm64 1.3.6-2 [86.9 kB] Get: 241 http://deb.debian.org/debian buster/main arm64 libvorbisenc2 arm64 1.3.6-2 [80.0 kB] Get: 242 http://deb.debian.org/debian buster/main arm64 libsndfile1 arm64 1.0.28-6 [246 kB] Get: 243 http://deb.debian.org/debian buster/main arm64 libtext-unidecode-perl all 1.30-1 [103 kB] Get: 244 http://deb.debian.org/debian buster/main arm64 libxml-namespacesupport-perl all 1.12-1 [14.8 kB] Get: 245 http://deb.debian.org/debian buster/main arm64 libxml-sax-base-perl all 1.09-1 [20.4 kB] Get: 246 http://deb.debian.org/debian buster/main arm64 libxml-sax-perl all 1.00+dfsg-1 [58.6 kB] Get: 247 http://deb.debian.org/debian buster/main arm64 libxml-libxml-perl arm64 2.0134+dfsg-1 [334 kB] Get: 248 http://deb.debian.org/debian buster/main arm64 texinfo arm64 6.5.0.dfsg.1-4+b1 [1427 kB] Get: 249 http://deb.debian.org/debian buster/main arm64 octave-common all 4.4.1-5 [4365 kB] Get: 250 http://deb.debian.org/debian buster/main arm64 octave arm64 4.4.1-5 [1963 kB] Get: 251 http://deb.debian.org/debian buster/main arm64 libncurses-dev arm64 6.1+20181013-2+deb10u2 [324 kB] Get: 252 http://deb.debian.org/debian buster/main arm64 libreadline-dev arm64 7.0-5 [128 kB] Get: 253 http://deb.debian.org/debian buster/main arm64 zlib1g-dev arm64 1:1.2.11.dfsg-1 [210 kB] Get: 254 http://deb.debian.org/debian buster/main arm64 libjpeg62-turbo-dev arm64 1:1.5.2-2+b1 [186 kB] Get: 255 http://deb.debian.org/debian buster/main arm64 libjpeg-dev all 1:1.5.2-2 [57.5 kB] Get: 256 http://deb.debian.org/debian buster/main arm64 libaec-dev arm64 1.0.2-1 [17.1 kB] Get: 257 http://deb.debian.org/debian buster/main arm64 hdf5-helpers arm64 1.10.4+repack-10 [35.2 kB] Get: 258 http://deb.debian.org/debian buster/main arm64 libhdf5-cpp-103 arm64 1.10.4+repack-10 [132 kB] Get: 259 http://deb.debian.org/debian buster/main arm64 libhdf5-dev arm64 1.10.4+repack-10 [2683 kB] Get: 260 http://deb.debian.org/debian buster/main arm64 xorg-sgml-doctools all 1:1.11-1 [21.9 kB] Get: 261 http://deb.debian.org/debian buster/main arm64 x11proto-dev all 2018.4-4 [251 kB] Get: 262 http://deb.debian.org/debian buster/main arm64 x11proto-core-dev all 2018.4-4 [3128 B] Get: 263 http://deb.debian.org/debian buster/main arm64 libxau-dev arm64 1:1.0.8-1+b2 [22.8 kB] Get: 264 http://deb.debian.org/debian buster/main arm64 libxdmcp-dev arm64 1:1.1.2-3 [41.2 kB] Get: 265 http://deb.debian.org/debian buster/main arm64 xtrans-dev all 1.3.5-1 [100 kB] Get: 266 http://deb.debian.org/debian buster/main arm64 libpthread-stubs0-dev arm64 0.4-1 [5336 B] Get: 267 http://deb.debian.org/debian buster/main arm64 libxcb1-dev arm64 1.13.1-2 [174 kB] Get: 268 http://deb.debian.org/debian buster/main arm64 libx11-dev arm64 2:1.6.7-1 [816 kB] Get: 269 http://deb.debian.org/debian buster/main arm64 libdrm-freedreno1 arm64 2.4.97-1 [27.8 kB] Get: 270 http://deb.debian.org/debian buster/main arm64 libdrm-tegra0 arm64 2.4.97-1 [15.8 kB] Get: 271 http://deb.debian.org/debian buster/main arm64 libdrm-dev arm64 2.4.97-1 [135 kB] Get: 272 http://deb.debian.org/debian buster/main arm64 mesa-common-dev arm64 18.3.6-2+deb10u1 [611 kB] Get: 273 http://deb.debian.org/debian buster/main arm64 libglvnd-core-dev arm64 1.1.0-1 [13.2 kB] Get: 274 http://deb.debian.org/debian buster/main arm64 libgles1 arm64 1.1.0-1 [14.3 kB] Get: 275 http://deb.debian.org/debian buster/main arm64 libgles2 arm64 1.1.0-1 [19.8 kB] Get: 276 http://deb.debian.org/debian buster/main arm64 libopengl0 arm64 1.1.0-1 [34.4 kB] Get: 277 http://deb.debian.org/debian buster/main arm64 libglvnd-dev arm64 1.1.0-1 [5128 B] Get: 278 http://deb.debian.org/debian buster/main arm64 libx11-xcb-dev arm64 2:1.6.7-1 [192 kB] Get: 279 http://deb.debian.org/debian buster/main arm64 libxcb-dri3-dev arm64 1.13.1-2 [101 kB] Get: 280 http://deb.debian.org/debian buster/main arm64 libxcb-render0-dev arm64 1.13.1-2 [113 kB] Get: 281 http://deb.debian.org/debian buster/main arm64 libxcb-randr0-dev arm64 1.13.1-2 [115 kB] Get: 282 http://deb.debian.org/debian buster/main arm64 libxcb-shape0-dev arm64 1.13.1-2 [101 kB] Get: 283 http://deb.debian.org/debian buster/main arm64 libxcb-xfixes0-dev arm64 1.13.1-2 [106 kB] Get: 284 http://deb.debian.org/debian buster/main arm64 libxcb-sync-dev arm64 1.13.1-2 [105 kB] Get: 285 http://deb.debian.org/debian buster/main arm64 libxcb-present-dev arm64 1.13.1-2 [101 kB] Get: 286 http://deb.debian.org/debian buster/main arm64 libxshmfence-dev arm64 1.3-1 [8212 B] Get: 287 http://deb.debian.org/debian buster/main arm64 libxcb-dri2-0-dev arm64 1.13.1-2 [102 kB] Get: 288 http://deb.debian.org/debian buster/main arm64 libxcb-glx0-dev arm64 1.13.1-2 [122 kB] Get: 289 http://deb.debian.org/debian buster/main arm64 x11proto-fixes-dev all 1:2018.4-4 [3140 B] Get: 290 http://deb.debian.org/debian buster/main arm64 libxfixes-dev arm64 1:5.0.3-1 [23.2 kB] Get: 291 http://deb.debian.org/debian buster/main arm64 x11proto-damage-dev all 1:2018.4-4 [3140 B] Get: 292 http://deb.debian.org/debian buster/main arm64 libxdamage-dev arm64 1:1.1.4-3+b3 [14.8 kB] Get: 293 http://deb.debian.org/debian buster/main arm64 x11proto-xext-dev all 2018.4-4 [3128 B] Get: 294 http://deb.debian.org/debian buster/main arm64 libxext-dev arm64 2:1.3.3-1+b2 [104 kB] Get: 295 http://deb.debian.org/debian buster/main arm64 x11proto-xf86vidmode-dev all 2018.4-4 [3140 B] Get: 296 http://deb.debian.org/debian buster/main arm64 libxxf86vm-dev arm64 1:1.1.4-1+b2 [25.1 kB] Get: 297 http://deb.debian.org/debian buster/main arm64 libgl1-mesa-dev arm64 18.3.6-2+deb10u1 [48.0 kB] Get: 298 http://deb.debian.org/debian buster/main arm64 libblas-dev arm64 3.8.0-2 [105 kB] Get: 299 http://deb.debian.org/debian buster/main arm64 liblapack-dev arm64 3.8.0-2 [1524 kB] Get: 300 http://deb.debian.org/debian buster/main arm64 libfftw3-long3 arm64 3.3.8-2 [526 kB] Get: 301 http://deb.debian.org/debian buster/main arm64 libfftw3-bin arm64 3.3.8-2 [47.4 kB] Get: 302 http://deb.debian.org/debian buster/main arm64 libfftw3-dev arm64 3.3.8-2 [1455 kB] Get: 303 http://deb.debian.org/debian buster/main arm64 libgfortran-8-dev arm64 8.3.0-6 [346 kB] Get: 304 http://deb.debian.org/debian buster/main arm64 gfortran-8 arm64 8.3.0-6 [7861 kB] Get: 305 http://deb.debian.org/debian buster/main arm64 gfortran arm64 4:8.3.0-1 [1420 B] Get: 306 http://deb.debian.org/debian buster/main arm64 liboctave-dev arm64 4.4.1-5 [756 kB] Get: 307 http://deb.debian.org/debian buster/main arm64 libencode-locale-perl all 1.05-1 [13.7 kB] Get: 308 http://deb.debian.org/debian buster/main arm64 libtimedate-perl all 2.3000-2+deb10u1 [38.1 kB] Get: 309 http://deb.debian.org/debian buster/main arm64 libhttp-date-perl all 6.02-1 [10.7 kB] Get: 310 http://deb.debian.org/debian buster/main arm64 libfile-listing-perl all 6.04-1 [10.3 kB] Get: 311 http://deb.debian.org/debian buster/main arm64 libhtml-tagset-perl all 3.20-3 [12.7 kB] Get: 312 http://deb.debian.org/debian buster/main arm64 liburi-perl all 1.76-1 [89.9 kB] Get: 313 http://deb.debian.org/debian buster/main arm64 libhtml-parser-perl arm64 3.72-3+b3 [103 kB] Get: 314 http://deb.debian.org/debian buster/main arm64 libhtml-tree-perl all 5.07-2 [213 kB] Get: 315 http://deb.debian.org/debian buster/main arm64 libio-html-perl all 1.001-1 [17.6 kB] Get: 316 http://deb.debian.org/debian buster/main arm64 liblwp-mediatypes-perl all 6.02-1 [22.1 kB] Get: 317 http://deb.debian.org/debian buster/main arm64 libhttp-message-perl all 6.18-1 [77.8 kB] Get: 318 http://deb.debian.org/debian buster/main arm64 libhttp-cookies-perl all 6.04-1 [17.8 kB] Get: 319 http://deb.debian.org/debian buster/main arm64 libhttp-negotiate-perl all 6.01-1 [12.8 kB] Get: 320 http://deb.debian.org/debian buster/main arm64 perl-openssl-defaults arm64 3 [6782 B] Get: 321 http://deb.debian.org/debian buster/main arm64 libnet-ssleay-perl arm64 1.85-2+b1 [303 kB] Get: 322 http://deb.debian.org/debian buster/main arm64 libio-socket-ssl-perl all 2.060-3 [207 kB] Get: 323 http://deb.debian.org/debian buster/main arm64 libnet-http-perl all 6.18-1 [24.5 kB] Get: 324 http://deb.debian.org/debian buster/main arm64 liblwp-protocol-https-perl all 6.07-2 [9242 B] Get: 325 http://deb.debian.org/debian buster/main arm64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 326 http://deb.debian.org/debian buster/main arm64 libwww-perl all 6.36-2 [188 kB] Get: 327 http://deb.debian.org/debian buster/main arm64 liberror-perl all 0.17027-2 [30.9 kB] Get: 328 http://deb.debian.org/debian buster/main arm64 libexporter-lite-perl all 0.08-1 [11.1 kB] Get: 329 http://deb.debian.org/debian buster/main arm64 libparse-debcontrol-perl all 2.005-4 [25.7 kB] Get: 330 http://deb.debian.org/debian buster/main arm64 libconvert-binhex-perl all 1.125-1 [30.5 kB] Get: 331 http://deb.debian.org/debian buster/main arm64 libnet-smtp-ssl-perl all 1.04-1 [6184 B] Get: 332 http://deb.debian.org/debian buster/main arm64 libmailtools-perl all 2.18-1 [88.5 kB] Get: 333 http://deb.debian.org/debian buster/main arm64 libmime-tools-perl all 5.509-1 [212 kB] Get: 334 http://deb.debian.org/debian buster/main arm64 gnuplot-data all 5.2.6+dfsg1-1+deb10u1 [180 kB] Get: 335 http://deb.debian.org/debian buster/main arm64 libpixman-1-0 arm64 0.36.0-1 [436 kB] Get: 336 http://deb.debian.org/debian buster/main arm64 libcairo2 arm64 1.16.0-4 [644 kB] Get: 337 http://deb.debian.org/debian buster/main arm64 libxpm4 arm64 1:3.5.12-1 [43.9 kB] Get: 338 http://deb.debian.org/debian buster/main arm64 libgd3 arm64 2.2.5-5.2 [125 kB] Get: 339 http://deb.debian.org/debian buster/main arm64 liblua5.3-0 arm64 5.3.3-1.1 [110 kB] Get: 340 http://deb.debian.org/debian buster/main arm64 libfribidi0 arm64 1.0.5-3.1+deb10u1 [63.6 kB] Get: 341 http://deb.debian.org/debian buster/main arm64 libthai-data all 0.1.28-2 [170 kB] Get: 342 http://deb.debian.org/debian buster/main arm64 libdatrie1 arm64 0.2.12-2 [38.6 kB] Get: 343 http://deb.debian.org/debian buster/main arm64 libthai0 arm64 0.1.28-2 [52.8 kB] Get: 344 http://deb.debian.org/debian buster/main arm64 libpango-1.0-0 arm64 1.42.4-8~deb10u1 [179 kB] Get: 345 http://deb.debian.org/debian buster/main arm64 libpangoft2-1.0-0 arm64 1.42.4-8~deb10u1 [65.7 kB] Get: 346 http://deb.debian.org/debian buster/main arm64 libpangocairo-1.0-0 arm64 1.42.4-8~deb10u1 [54.0 kB] Get: 347 http://deb.debian.org/debian buster/main arm64 gnuplot-nox arm64 5.2.6+dfsg1-1+deb10u1 [844 kB] Get: 348 http://deb.debian.org/debian buster/main arm64 fonts-freefont-otf all 20120503-9 [3169 kB] Get: 349 http://deb.debian.org/debian buster/main arm64 dh-octave-autopkgtest all 0.6.2 [8308 B] Get: 350 http://deb.debian.org/debian buster/main arm64 dh-octave all 0.6.2 [19.9 kB] Get: 351 http://deb.debian.org/debian buster/main arm64 libslicot0 arm64 5.0+20101122-4 [865 kB] Get: 352 http://deb.debian.org/debian buster/main arm64 octave-control arm64 3.1.0-3 [274 kB] Fetched 116 MB in 10s (11.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19168 files and directories currently installed.) Preparing to unpack .../000-libbsd0_0.9.1-2_arm64.deb ... Unpacking libbsd0:arm64 (0.9.1-2) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../001-bsdmainutils_11.1.2+b1_arm64.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../002-libuchardet0_0.0.6-3_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../003-groff-base_1.22.4-3_arm64.deb ... Unpacking groff-base (1.22.4-3) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../004-libpipeline1_1.5.1-2_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../005-man-db_2.8.5-2_arm64.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../006-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package ucf. Preparing to unpack .../007-ucf_3.0038+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0038+nmu1) ... Selecting previously unselected package tex-common. Preparing to unpack .../008-tex-common_6.11_all.deb ... Unpacking tex-common (6.11) ... Selecting previously unselected package netbase. Preparing to unpack .../009-netbase_5.6_all.deb ... Unpacking netbase (5.6) ... Selecting previously unselected package readline-common. Preparing to unpack .../010-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../011-libmagic-mgc_1%3a5.35-4+deb10u1_arm64.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u1) ... Selecting previously unselected package libmagic1:arm64. Preparing to unpack .../012-libmagic1_1%3a5.35-4+deb10u1_arm64.deb ... Unpacking libmagic1:arm64 (1:5.35-4+deb10u1) ... Selecting previously unselected package file. Preparing to unpack .../013-file_1%3a5.35-4+deb10u1_arm64.deb ... Unpacking file (1:5.35-4+deb10u1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../014-gettext-base_0.19.8.1-9_arm64.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package aglfn. Preparing to unpack .../015-aglfn_1.7-3_all.deb ... Unpacking aglfn (1.7-3) ... Selecting previously unselected package libsigsegv2:arm64. Preparing to unpack .../016-libsigsegv2_2.12-2_arm64.deb ... Unpacking libsigsegv2:arm64 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../017-m4_1.4.18-2_arm64.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../018-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../019-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../020-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../021-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libssl1.1:arm64. Preparing to unpack .../022-libssl1.1_1.1.1d-0+deb10u3_arm64.deb ... Unpacking libssl1.1:arm64 (1.1.1d-0+deb10u3) ... Selecting previously unselected package openssl. Preparing to unpack .../023-openssl_1.1.1d-0+deb10u3_arm64.deb ... Unpacking openssl (1.1.1d-0+deb10u3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../024-ca-certificates_20190110_all.deb ... Unpacking ca-certificates (20190110) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../025-libcapture-tiny-perl_0.48-1_all.deb ... Unpacking libcapture-tiny-perl (0.48-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../026-libparams-util-perl_1.07-3+b4_arm64.deb ... Unpacking libparams-util-perl (1.07-3+b4) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../027-libsub-install-perl_0.928-1_all.deb ... Unpacking libsub-install-perl (0.928-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../028-libdata-optlist-perl_0.110-1_all.deb ... Unpacking libdata-optlist-perl (0.110-1) ... Selecting previously unselected package libb-hooks-op-check-perl. Preparing to unpack .../029-libb-hooks-op-check-perl_0.22-1+b1_arm64.deb ... Unpacking libb-hooks-op-check-perl (0.22-1+b1) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../030-libdynaloader-functions-perl_0.003-1_all.deb ... Unpacking libdynaloader-functions-perl (0.003-1) ... Selecting previously unselected package libdevel-callchecker-perl. Preparing to unpack .../031-libdevel-callchecker-perl_0.008-1_arm64.deb ... Unpacking libdevel-callchecker-perl (0.008-1) ... Selecting previously unselected package libparams-classify-perl. Preparing to unpack .../032-libparams-classify-perl_0.015-1+b1_arm64.deb ... Unpacking libparams-classify-perl (0.015-1+b1) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../033-libmodule-runtime-perl_0.016-1_all.deb ... Unpacking libmodule-runtime-perl (0.016-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../034-libtry-tiny-perl_0.30-1_all.deb ... Unpacking libtry-tiny-perl (0.30-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../035-libmodule-implementation-perl_0.09-1_all.deb ... Unpacking libmodule-implementation-perl (0.09-1) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../036-libpackage-stash-perl_0.38-1_all.deb ... Unpacking libpackage-stash-perl (0.38-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../037-libclass-load-perl_0.25-1_all.deb ... Unpacking libclass-load-perl (0.25-1) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../038-libio-stringy-perl_2.111-3_all.deb ... Unpacking libio-stringy-perl (2.111-3) ... Selecting previously unselected package libparams-validate-perl. Preparing to unpack .../039-libparams-validate-perl_1.29-1+b1_arm64.deb ... Unpacking libparams-validate-perl (1.29-1+b1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../040-libsub-exporter-perl_0.987-1_all.deb ... Unpacking libsub-exporter-perl (0.987-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../041-libgetopt-long-descriptive-perl_0.103-2_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.103-2) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../042-libio-tiecombine-perl_1.005-1_all.deb ... Unpacking libio-tiecombine-perl (1.005-1) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../043-libmodule-pluggable-perl_5.2-1_all.deb ... Unpacking libmodule-pluggable-perl (5.2-1) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../044-libstring-rewriteprefix-perl_0.007-2_all.deb ... Unpacking libstring-rewriteprefix-perl (0.007-2) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../045-libapp-cmd-perl_0.331-1_all.deb ... Unpacking libapp-cmd-perl (0.331-1) ... Selecting previously unselected package libboolean-perl. Preparing to unpack .../046-libboolean-perl_0.46-1_all.deb ... Unpacking libboolean-perl (0.46-1) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../047-libcarp-assert-perl_0.21-1_all.deb ... Unpacking libcarp-assert-perl (0.21-1) ... Selecting previously unselected package libcarp-assert-more-perl. Preparing to unpack .../048-libcarp-assert-more-perl_1.16-1_all.deb ... Unpacking libcarp-assert-more-perl (1.16-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../049-libfile-which-perl_1.23-1_all.deb ... Unpacking libfile-which-perl (1.23-1) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../050-libfile-homedir-perl_1.004-1_all.deb ... Unpacking libfile-homedir-perl (1.004-1) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../051-libclone-choose-perl_0.010-1_all.deb ... Unpacking libclone-choose-perl (0.010-1) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../052-libhash-merge-perl_0.300-1_all.deb ... Unpacking libhash-merge-perl (0.300-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../053-libjson-perl_4.02000-1_all.deb ... Unpacking libjson-perl (4.02000-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../054-libexporter-tiny-perl_1.002001-1_all.deb ... Unpacking libexporter-tiny-perl (1.002001-1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../055-liblist-moreutils-perl_0.416-1+b4_arm64.deb ... Unpacking liblist-moreutils-perl (0.416-1+b4) ... Selecting previously unselected package liblog-log4perl-perl. Preparing to unpack .../056-liblog-log4perl-perl_1.49-1_all.deb ... Unpacking liblog-log4perl-perl (1.49-1) ... Selecting previously unselected package libmouse-perl. Preparing to unpack .../057-libmouse-perl_2.5.6-1+b1_arm64.deb ... Unpacking libmouse-perl (2.5.6-1+b1) ... Selecting previously unselected package libmousex-nativetraits-perl. Preparing to unpack .../058-libmousex-nativetraits-perl_1.09-2_all.deb ... Unpacking libmousex-nativetraits-perl (1.09-2) ... Selecting previously unselected package libmousex-strictconstructor-perl. Preparing to unpack .../059-libmousex-strictconstructor-perl_0.02-2_all.deb ... Unpacking libmousex-strictconstructor-perl (0.02-2) ... Selecting previously unselected package libparse-recdescent-perl. Preparing to unpack .../060-libparse-recdescent-perl_1.967015+dfsg-2_all.deb ... Unpacking libparse-recdescent-perl (1.967015+dfsg-2) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../061-libpath-tiny-perl_0.108-1_all.deb ... Unpacking libpath-tiny-perl (0.108-1) ... Selecting previously unselected package libpod-pom-perl. Preparing to unpack .../062-libpod-pom-perl_2.01-3_all.deb ... Unpacking libpod-pom-perl (2.01-3) ... Selecting previously unselected package libregexp-common-perl. Preparing to unpack .../063-libregexp-common-perl_2017060201-1_all.deb ... Unpacking libregexp-common-perl (2017060201-1) ... Selecting previously unselected package libconfig-model-perl. Preparing to unpack .../064-libconfig-model-perl_2.133-1_all.deb ... Unpacking libconfig-model-perl (2.133-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../065-libyaml-perl_1.27-1_all.deb ... Unpacking libyaml-perl (1.27-1) ... Selecting previously unselected package cme. Preparing to unpack .../066-cme_1.029-1_all.deb ... Unpacking cme (1.029-1) ... Selecting previously unselected package libtool. Preparing to unpack .../067-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../068-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../069-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../070-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../071-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:arm64. Preparing to unpack .../072-libelf1_0.176-1.1_arm64.deb ... Unpacking libelf1:arm64 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../073-dwz_0.12-3_arm64.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:arm64. Preparing to unpack .../074-libglib2.0-0_2.58.3-2+deb10u2_arm64.deb ... Unpacking libglib2.0-0:arm64 (2.58.3-2+deb10u2) ... Selecting previously unselected package libicu63:arm64. Preparing to unpack .../075-libicu63_63.1-6+deb10u1_arm64.deb ... Unpacking libicu63:arm64 (63.1-6+deb10u1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../076-libxml2_2.9.4+dfsg1-7+b3_arm64.deb ... Unpacking libxml2:arm64 (2.9.4+dfsg1-7+b3) ... Selecting previously unselected package libcroco3:arm64. Preparing to unpack .../077-libcroco3_0.6.12-3_arm64.deb ... Unpacking libcroco3:arm64 (0.6.12-3) ... Selecting previously unselected package libncurses6:arm64. Preparing to unpack .../078-libncurses6_6.1+20181013-2+deb10u2_arm64.deb ... Unpacking libncurses6:arm64 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package gettext. Preparing to unpack .../079-gettext_0.19.8.1-9_arm64.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../080-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../081-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../082-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package libsuitesparseconfig5:arm64. Preparing to unpack .../083-libsuitesparseconfig5_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libsuitesparseconfig5:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libamd2:arm64. Preparing to unpack .../084-libamd2_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libamd2:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libgfortran5:arm64. Preparing to unpack .../085-libgfortran5_8.3.0-6_arm64.deb ... Unpacking libgfortran5:arm64 (8.3.0-6) ... Selecting previously unselected package libblas3:arm64. Preparing to unpack .../086-libblas3_3.8.0-2_arm64.deb ... Unpacking libblas3:arm64 (3.8.0-2) ... Selecting previously unselected package liblapack3:arm64. Preparing to unpack .../087-liblapack3_3.8.0-2_arm64.deb ... Unpacking liblapack3:arm64 (3.8.0-2) ... Selecting previously unselected package libarpack2:arm64. Preparing to unpack .../088-libarpack2_3.7.0-2_arm64.deb ... Unpacking libarpack2:arm64 (3.7.0-2) ... Selecting previously unselected package libcamd2:arm64. Preparing to unpack .../089-libcamd2_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libcamd2:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libccolamd2:arm64. Preparing to unpack .../090-libccolamd2_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libccolamd2:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libcolamd2:arm64. Preparing to unpack .../091-libcolamd2_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libcolamd2:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libmetis5:arm64. Preparing to unpack .../092-libmetis5_5.1.0.dfsg-5+b2_arm64.deb ... Unpacking libmetis5:arm64 (5.1.0.dfsg-5+b2) ... Selecting previously unselected package libcholmod3:arm64. Preparing to unpack .../093-libcholmod3_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libcholmod3:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../094-libkeyutils1_1.6-6_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6-6) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../095-libkrb5support0_1.17-3_arm64.deb ... Unpacking libkrb5support0:arm64 (1.17-3) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../096-libk5crypto3_1.17-3_arm64.deb ... Unpacking libk5crypto3:arm64 (1.17-3) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../097-libkrb5-3_1.17-3_arm64.deb ... Unpacking libkrb5-3:arm64 (1.17-3) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../098-libgssapi-krb5-2_1.17-3_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.17-3) ... Selecting previously unselected package libsasl2-modules-db:arm64. Preparing to unpack .../099-libsasl2-modules-db_2.1.27+dfsg-1+deb10u1_arm64.deb ... Unpacking libsasl2-modules-db:arm64 (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libsasl2-2:arm64. Preparing to unpack .../100-libsasl2-2_2.1.27+dfsg-1+deb10u1_arm64.deb ... Unpacking libsasl2-2:arm64 (2.1.27+dfsg-1+deb10u1) ... Selecting previously unselected package libldap-common. Preparing to unpack .../101-libldap-common_2.4.47+dfsg-3+deb10u2_all.deb ... Unpacking libldap-common (2.4.47+dfsg-3+deb10u2) ... Selecting previously unselected package libldap-2.4-2:arm64. Preparing to unpack .../102-libldap-2.4-2_2.4.47+dfsg-3+deb10u2_arm64.deb ... Unpacking libldap-2.4-2:arm64 (2.4.47+dfsg-3+deb10u2) ... Selecting previously unselected package libnghttp2-14:arm64. Preparing to unpack .../103-libnghttp2-14_1.36.0-2+deb10u1_arm64.deb ... Unpacking libnghttp2-14:arm64 (1.36.0-2+deb10u1) ... Selecting previously unselected package libpsl5:arm64. Preparing to unpack .../104-libpsl5_0.20.2-2_arm64.deb ... Unpacking libpsl5:arm64 (0.20.2-2) ... Selecting previously unselected package librtmp1:arm64. Preparing to unpack .../105-librtmp1_2.4+20151223.gitfa8646d.1-2_arm64.deb ... Unpacking librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2) ... Selecting previously unselected package libssh2-1:arm64. Preparing to unpack .../106-libssh2-1_1.8.0-2.1_arm64.deb ... Unpacking libssh2-1:arm64 (1.8.0-2.1) ... Selecting previously unselected package libcurl3-gnutls:arm64. Preparing to unpack .../107-libcurl3-gnutls_7.64.0-4+deb10u1_arm64.deb ... Unpacking libcurl3-gnutls:arm64 (7.64.0-4+deb10u1) ... Selecting previously unselected package libcxsparse3:arm64. Preparing to unpack .../108-libcxsparse3_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libcxsparse3:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libfftw3-double3:arm64. Preparing to unpack .../109-libfftw3-double3_3.3.8-2_arm64.deb ... Unpacking libfftw3-double3:arm64 (3.3.8-2) ... Selecting previously unselected package libfftw3-single3:arm64. Preparing to unpack .../110-libfftw3-single3_3.3.8-2_arm64.deb ... Unpacking libfftw3-single3:arm64 (3.3.8-2) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../111-libexpat1_2.2.6-2+deb10u1_arm64.deb ... Unpacking libexpat1:arm64 (2.2.6-2+deb10u1) ... Selecting previously unselected package libpng16-16:arm64. Preparing to unpack .../112-libpng16-16_1.6.36-6_arm64.deb ... Unpacking libpng16-16:arm64 (1.6.36-6) ... Selecting previously unselected package libfreetype6:arm64. Preparing to unpack .../113-libfreetype6_2.9.1-3+deb10u1_arm64.deb ... Unpacking libfreetype6:arm64 (2.9.1-3+deb10u1) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../114-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../115-fontconfig-config_2.13.1-2_all.deb ... Unpacking fontconfig-config (2.13.1-2) ... Selecting previously unselected package libfontconfig1:arm64. Preparing to unpack .../116-libfontconfig1_2.13.1-2_arm64.deb ... Unpacking libfontconfig1:arm64 (2.13.1-2) ... Selecting previously unselected package libglvnd0:arm64. Preparing to unpack .../117-libglvnd0_1.1.0-1_arm64.deb ... Unpacking libglvnd0:arm64 (1.1.0-1) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../118-libxau6_1%3a1.0.8-1+b2_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../119-libxdmcp6_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../120-libxcb1_1.13.1-2_arm64.deb ... Unpacking libxcb1:arm64 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../121-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../122-libx11-6_2%3a1.6.7-1_arm64.deb ... Unpacking libx11-6:arm64 (2:1.6.7-1) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../123-libxext6_2%3a1.3.3-1+b2_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.3-1+b2) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../124-libdrm-common_2.4.97-1_all.deb ... Unpacking libdrm-common (2.4.97-1) ... Selecting previously unselected package libdrm2:arm64. Preparing to unpack .../125-libdrm2_2.4.97-1_arm64.deb ... Unpacking libdrm2:arm64 (2.4.97-1) ... Selecting previously unselected package libglapi-mesa:arm64. Preparing to unpack .../126-libglapi-mesa_18.3.6-2+deb10u1_arm64.deb ... Unpacking libglapi-mesa:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libx11-xcb1:arm64. Preparing to unpack .../127-libx11-xcb1_2%3a1.6.7-1_arm64.deb ... Unpacking libx11-xcb1:arm64 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri2-0:arm64. Preparing to unpack .../128-libxcb-dri2-0_1.13.1-2_arm64.deb ... Unpacking libxcb-dri2-0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-dri3-0:arm64. Preparing to unpack .../129-libxcb-dri3-0_1.13.1-2_arm64.deb ... Unpacking libxcb-dri3-0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-glx0:arm64. Preparing to unpack .../130-libxcb-glx0_1.13.1-2_arm64.deb ... Unpacking libxcb-glx0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-present0:arm64. Preparing to unpack .../131-libxcb-present0_1.13.1-2_arm64.deb ... Unpacking libxcb-present0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-sync1:arm64. Preparing to unpack .../132-libxcb-sync1_1.13.1-2_arm64.deb ... Unpacking libxcb-sync1:arm64 (1.13.1-2) ... Selecting previously unselected package libxfixes3:arm64. Preparing to unpack .../133-libxfixes3_1%3a5.0.3-1_arm64.deb ... Unpacking libxfixes3:arm64 (1:5.0.3-1) ... Selecting previously unselected package libxdamage1:arm64. Preparing to unpack .../134-libxdamage1_1%3a1.1.4-3+b3_arm64.deb ... Unpacking libxdamage1:arm64 (1:1.1.4-3+b3) ... Selecting previously unselected package libxshmfence1:arm64. Preparing to unpack .../135-libxshmfence1_1.3-1_arm64.deb ... Unpacking libxshmfence1:arm64 (1.3-1) ... Selecting previously unselected package libxxf86vm1:arm64. Preparing to unpack .../136-libxxf86vm1_1%3a1.1.4-1+b2_arm64.deb ... Unpacking libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Selecting previously unselected package libdrm-amdgpu1:arm64. Preparing to unpack .../137-libdrm-amdgpu1_2.4.97-1_arm64.deb ... Unpacking libdrm-amdgpu1:arm64 (2.4.97-1) ... Selecting previously unselected package libdrm-etnaviv1:arm64. Preparing to unpack .../138-libdrm-etnaviv1_2.4.97-1_arm64.deb ... Unpacking libdrm-etnaviv1:arm64 (2.4.97-1) ... Selecting previously unselected package libdrm-nouveau2:arm64. Preparing to unpack .../139-libdrm-nouveau2_2.4.97-1_arm64.deb ... Unpacking libdrm-nouveau2:arm64 (2.4.97-1) ... Selecting previously unselected package libdrm-radeon1:arm64. Preparing to unpack .../140-libdrm-radeon1_2.4.97-1_arm64.deb ... Unpacking libdrm-radeon1:arm64 (2.4.97-1) ... Selecting previously unselected package libedit2:arm64. Preparing to unpack .../141-libedit2_3.1-20181209-1_arm64.deb ... Unpacking libedit2:arm64 (3.1-20181209-1) ... Selecting previously unselected package libllvm7:arm64. Preparing to unpack .../142-libllvm7_1%3a7.0.1-8_arm64.deb ... Unpacking libllvm7:arm64 (1:7.0.1-8) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../143-libsensors-config_1%3a3.5.0-3_all.deb ... Unpacking libsensors-config (1:3.5.0-3) ... Selecting previously unselected package libsensors5:arm64. Preparing to unpack .../144-libsensors5_1%3a3.5.0-3_arm64.deb ... Unpacking libsensors5:arm64 (1:3.5.0-3) ... Selecting previously unselected package libgl1-mesa-dri:arm64. Preparing to unpack .../145-libgl1-mesa-dri_18.3.6-2+deb10u1_arm64.deb ... Unpacking libgl1-mesa-dri:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglx-mesa0:arm64. Preparing to unpack .../146-libglx-mesa0_18.3.6-2+deb10u1_arm64.deb ... Unpacking libglx-mesa0:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglx0:arm64. Preparing to unpack .../147-libglx0_1.1.0-1_arm64.deb ... Unpacking libglx0:arm64 (1.1.0-1) ... Selecting previously unselected package libgl1:arm64. Preparing to unpack .../148-libgl1_1.1.0-1_arm64.deb ... Unpacking libgl1:arm64 (1.1.0-1) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../149-libgl2ps1.4_1.4.0+dfsg1-2_arm64.deb ... Unpacking libgl2ps1.4 (1.4.0+dfsg1-2) ... Selecting previously unselected package libglu1-mesa:arm64. Preparing to unpack .../150-libglu1-mesa_9.0.0-2.1+b3_arm64.deb ... Unpacking libglu1-mesa:arm64 (9.0.0-2.1+b3) ... Selecting previously unselected package libjbig0:arm64. Preparing to unpack .../151-libjbig0_2.1-3.1+b2_arm64.deb ... Unpacking libjbig0:arm64 (2.1-3.1+b2) ... Selecting previously unselected package libjpeg62-turbo:arm64. Preparing to unpack .../152-libjpeg62-turbo_1%3a1.5.2-2+b1_arm64.deb ... Unpacking libjpeg62-turbo:arm64 (1:1.5.2-2+b1) ... Selecting previously unselected package libwebp6:arm64. Preparing to unpack .../153-libwebp6_0.6.1-2_arm64.deb ... Unpacking libwebp6:arm64 (0.6.1-2) ... Selecting previously unselected package libtiff5:arm64. Preparing to unpack .../154-libtiff5_4.1.0+git191117-2~deb10u1_arm64.deb ... Unpacking libtiff5:arm64 (4.1.0+git191117-2~deb10u1) ... Selecting previously unselected package lsb-base. Preparing to unpack .../155-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package x11-common. Preparing to unpack .../156-x11-common_1%3a7.7+19_all.deb ... Unpacking x11-common (1:7.7+19) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../157-libice6_2%3a1.0.9-2_arm64.deb ... Unpacking libice6:arm64 (2:1.0.9-2) ... Selecting previously unselected package liblcms2-2:arm64. Preparing to unpack .../158-liblcms2-2_2.9-3_arm64.deb ... Unpacking liblcms2-2:arm64 (2.9-3) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../159-libsm6_2%3a1.2.3-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.3-1) ... Selecting previously unselected package libwebpmux3:arm64. Preparing to unpack .../160-libwebpmux3_0.6.1-2_arm64.deb ... Unpacking libwebpmux3:arm64 (0.6.1-2) ... Selecting previously unselected package libwmf0.2-7:arm64. Preparing to unpack .../161-libwmf0.2-7_0.2.8.4-14_arm64.deb ... Unpacking libwmf0.2-7:arm64 (0.2.8.4-14) ... Selecting previously unselected package libgraphicsmagick-q16-3. Preparing to unpack .../162-libgraphicsmagick-q16-3_1.4+really1.3.35-1~deb10u1_arm64.deb ... Unpacking libgraphicsmagick-q16-3 (1.4+really1.3.35-1~deb10u1) ... Selecting previously unselected package libgraphicsmagick++-q16-12. Preparing to unpack .../163-libgraphicsmagick++-q16-12_1.4+really1.3.35-1~deb10u1_arm64.deb ... Unpacking libgraphicsmagick++-q16-12 (1.4+really1.3.35-1~deb10u1) ... Selecting previously unselected package libaec0:arm64. Preparing to unpack .../164-libaec0_1.0.2-1_arm64.deb ... Unpacking libaec0:arm64 (1.0.2-1) ... Selecting previously unselected package libsz2:arm64. Preparing to unpack .../165-libsz2_1.0.2-1_arm64.deb ... Unpacking libsz2:arm64 (1.0.2-1) ... Selecting previously unselected package libhdf5-103:arm64. Preparing to unpack .../166-libhdf5-103_1.10.4+repack-10_arm64.deb ... Unpacking libhdf5-103:arm64 (1.10.4+repack-10) ... Selecting previously unselected package libqrupdate1:arm64. Preparing to unpack .../167-libqrupdate1_1.1.2-3_arm64.deb ... Unpacking libqrupdate1:arm64 (1.1.2-3) ... Selecting previously unselected package libreadline7:arm64. Preparing to unpack .../168-libreadline7_7.0-5_arm64.deb ... Unpacking libreadline7:arm64 (7.0-5) ... Selecting previously unselected package libumfpack5:arm64. Preparing to unpack .../169-libumfpack5_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libumfpack5:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package liboctave6:arm64. Preparing to unpack .../170-liboctave6_4.4.1-5_arm64.deb ... Unpacking liboctave6:arm64 (4.4.1-5) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../171-libasound2-data_1.1.8-1_all.deb ... Unpacking libasound2-data (1.1.8-1) ... Selecting previously unselected package libasound2:arm64. Preparing to unpack .../172-libasound2_1.1.8-1_arm64.deb ... Unpacking libasound2:arm64 (1.1.8-1) ... Selecting previously unselected package libxrender1:arm64. Preparing to unpack .../173-libxrender1_1%3a0.9.10-1_arm64.deb ... Unpacking libxrender1:arm64 (1:0.9.10-1) ... Selecting previously unselected package libxcursor1:arm64. Preparing to unpack .../174-libxcursor1_1%3a1.1.15-2_arm64.deb ... Unpacking libxcursor1:arm64 (1:1.1.15-2) ... Selecting previously unselected package libxft2:arm64. Preparing to unpack .../175-libxft2_2.3.2-2_arm64.deb ... Unpacking libxft2:arm64 (2.3.2-2) ... Selecting previously unselected package libxinerama1:arm64. Preparing to unpack .../176-libxinerama1_2%3a1.1.4-2_arm64.deb ... Unpacking libxinerama1:arm64 (2:1.1.4-2) ... Selecting previously unselected package libfltk1.3:arm64. Preparing to unpack .../177-libfltk1.3_1.3.4-9_arm64.deb ... Unpacking libfltk1.3:arm64 (1.3.4-9) ... Selecting previously unselected package libfltk-gl1.3:arm64. Preparing to unpack .../178-libfltk-gl1.3_1.3.4-9_arm64.deb ... Unpacking libfltk-gl1.3:arm64 (1.3.4-9) ... Selecting previously unselected package libltdl7:arm64. Preparing to unpack .../179-libltdl7_2.4.6-9_arm64.deb ... Unpacking libltdl7:arm64 (2.4.6-9) ... Selecting previously unselected package libglpk40:arm64. Preparing to unpack .../180-libglpk40_4.65-2_arm64.deb ... Unpacking libglpk40:arm64 (4.65-2) ... Selecting previously unselected package libbtf1:arm64. Preparing to unpack .../181-libbtf1_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libbtf1:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libklu1:arm64. Preparing to unpack .../182-libklu1_1%3a5.4.0+dfsg-1_arm64.deb ... Unpacking libklu1:arm64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libopus0:arm64. Preparing to unpack .../183-libopus0_1.3-1_arm64.deb ... Unpacking libopus0:arm64 (1.3-1) ... Selecting previously unselected package libsamplerate0:arm64. Preparing to unpack .../184-libsamplerate0_0.1.9-2_arm64.deb ... Unpacking libsamplerate0:arm64 (0.1.9-2) ... Selecting previously unselected package libjack-jackd2-0:arm64. Preparing to unpack .../185-libjack-jackd2-0_1.9.12~dfsg-2_arm64.deb ... Unpacking libjack-jackd2-0:arm64 (1.9.12~dfsg-2) ... Selecting previously unselected package libportaudio2:arm64. Preparing to unpack .../186-libportaudio2_19.6.0-1_arm64.deb ... Unpacking libportaudio2:arm64 (19.6.0-1) ... Selecting previously unselected package libqhull7:arm64. Preparing to unpack .../187-libqhull7_2015.2-4_arm64.deb ... Unpacking libqhull7:arm64 (2015.2-4) ... Selecting previously unselected package libqscintilla2-qt5-l10n. Preparing to unpack .../188-libqscintilla2-qt5-l10n_2.10.4+dfsg-2.1_all.deb ... Unpacking libqscintilla2-qt5-l10n (2.10.4+dfsg-2.1) ... Selecting previously unselected package libdouble-conversion1:arm64. Preparing to unpack .../189-libdouble-conversion1_3.1.0-3_arm64.deb ... Unpacking libdouble-conversion1:arm64 (3.1.0-3) ... Selecting previously unselected package libpcre2-16-0:arm64. Preparing to unpack .../190-libpcre2-16-0_10.32-5_arm64.deb ... Unpacking libpcre2-16-0:arm64 (10.32-5) ... Selecting previously unselected package libqt5core5a:arm64. Preparing to unpack .../191-libqt5core5a_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5core5a:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package fontconfig. Preparing to unpack .../192-fontconfig_2.13.1-2_arm64.deb ... Unpacking fontconfig (2.13.1-2) ... Selecting previously unselected package libwayland-server0:arm64. Preparing to unpack .../193-libwayland-server0_1.16.0-1_arm64.deb ... Unpacking libwayland-server0:arm64 (1.16.0-1) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../194-libgbm1_18.3.6-2+deb10u1_arm64.deb ... Unpacking libgbm1:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libwayland-client0:arm64. Preparing to unpack .../195-libwayland-client0_1.16.0-1_arm64.deb ... Unpacking libwayland-client0:arm64 (1.16.0-1) ... Selecting previously unselected package libxcb-xfixes0:arm64. Preparing to unpack .../196-libxcb-xfixes0_1.13.1-2_arm64.deb ... Unpacking libxcb-xfixes0:arm64 (1.13.1-2) ... Selecting previously unselected package libegl-mesa0:arm64. Preparing to unpack .../197-libegl-mesa0_18.3.6-2+deb10u1_arm64.deb ... Unpacking libegl-mesa0:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libegl1:arm64. Preparing to unpack .../198-libegl1_1.1.0-1_arm64.deb ... Unpacking libegl1:arm64 (1.1.0-1) ... Selecting previously unselected package libgraphite2-3:arm64. Preparing to unpack .../199-libgraphite2-3_1.3.13-7_arm64.deb ... Unpacking libgraphite2-3:arm64 (1.3.13-7) ... Selecting previously unselected package libharfbuzz0b:arm64. Preparing to unpack .../200-libharfbuzz0b_2.3.1-1_arm64.deb ... Unpacking libharfbuzz0b:arm64 (2.3.1-1) ... Selecting previously unselected package libevdev2:arm64. Preparing to unpack .../201-libevdev2_1.6.0+dfsg-1_arm64.deb ... Unpacking libevdev2:arm64 (1.6.0+dfsg-1) ... Selecting previously unselected package libmtdev1:arm64. Preparing to unpack .../202-libmtdev1_1.1.5-1+b1_arm64.deb ... Unpacking libmtdev1:arm64 (1.1.5-1+b1) ... Selecting previously unselected package libgudev-1.0-0:arm64. Preparing to unpack .../203-libgudev-1.0-0_232-2_arm64.deb ... Unpacking libgudev-1.0-0:arm64 (232-2) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../204-libwacom-common_0.32-1_all.deb ... Unpacking libwacom-common (0.32-1) ... Selecting previously unselected package libwacom2:arm64. Preparing to unpack .../205-libwacom2_0.32-1_arm64.deb ... Unpacking libwacom2:arm64 (0.32-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../206-libinput-bin_1.12.6-2+deb10u1_arm64.deb ... Unpacking libinput-bin (1.12.6-2+deb10u1) ... Selecting previously unselected package libinput10:arm64. Preparing to unpack .../207-libinput10_1.12.6-2+deb10u1_arm64.deb ... Unpacking libinput10:arm64 (1.12.6-2+deb10u1) ... Selecting previously unselected package libdbus-1-3:arm64. Preparing to unpack .../208-libdbus-1-3_1.12.20-0+deb10u1_arm64.deb ... Unpacking libdbus-1-3:arm64 (1.12.20-0+deb10u1) ... Selecting previously unselected package libqt5dbus5:arm64. Preparing to unpack .../209-libqt5dbus5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5dbus5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5network5:arm64. Preparing to unpack .../210-libqt5network5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5network5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libxcb-icccm4:arm64. Preparing to unpack .../211-libxcb-icccm4_0.4.1-1.1_arm64.deb ... Unpacking libxcb-icccm4:arm64 (0.4.1-1.1) ... Selecting previously unselected package libxcb-shm0:arm64. Preparing to unpack .../212-libxcb-shm0_1.13.1-2_arm64.deb ... Unpacking libxcb-shm0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-util0:arm64. Preparing to unpack .../213-libxcb-util0_0.3.8-3+b2_arm64.deb ... Unpacking libxcb-util0:arm64 (0.3.8-3+b2) ... Selecting previously unselected package libxcb-image0:arm64. Preparing to unpack .../214-libxcb-image0_0.4.0-1+b2_arm64.deb ... Unpacking libxcb-image0:arm64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-keysyms1:arm64. Preparing to unpack .../215-libxcb-keysyms1_0.4.0-1+b2_arm64.deb ... Unpacking libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../216-libxcb-randr0_1.13.1-2_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-render0:arm64. Preparing to unpack .../217-libxcb-render0_1.13.1-2_arm64.deb ... Unpacking libxcb-render0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-render-util0:arm64. Preparing to unpack .../218-libxcb-render-util0_0.3.9-1+b1_arm64.deb ... Unpacking libxcb-render-util0:arm64 (0.3.9-1+b1) ... Selecting previously unselected package libxcb-shape0:arm64. Preparing to unpack .../219-libxcb-shape0_1.13.1-2_arm64.deb ... Unpacking libxcb-shape0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-xinerama0:arm64. Preparing to unpack .../220-libxcb-xinerama0_1.13.1-2_arm64.deb ... Unpacking libxcb-xinerama0:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-xkb1:arm64. Preparing to unpack .../221-libxcb-xkb1_1.13.1-2_arm64.deb ... Unpacking libxcb-xkb1:arm64 (1.13.1-2) ... Selecting previously unselected package libxi6:arm64. Preparing to unpack .../222-libxi6_2%3a1.7.9-1_arm64.deb ... Unpacking libxi6:arm64 (2:1.7.9-1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../223-xkb-data_2.26-2_all.deb ... Unpacking xkb-data (2.26-2) ... Selecting previously unselected package libxkbcommon0:arm64. Preparing to unpack .../224-libxkbcommon0_0.8.2-1_arm64.deb ... Unpacking libxkbcommon0:arm64 (0.8.2-1) ... Selecting previously unselected package libxkbcommon-x11-0:arm64. Preparing to unpack .../225-libxkbcommon-x11-0_0.8.2-1_arm64.deb ... Unpacking libxkbcommon-x11-0:arm64 (0.8.2-1) ... Selecting previously unselected package libqt5gui5:arm64. Preparing to unpack .../226-libqt5gui5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5gui5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libavahi-common-data:arm64. Preparing to unpack .../227-libavahi-common-data_0.7-4+b1_arm64.deb ... Unpacking libavahi-common-data:arm64 (0.7-4+b1) ... Selecting previously unselected package libavahi-common3:arm64. Preparing to unpack .../228-libavahi-common3_0.7-4+b1_arm64.deb ... Unpacking libavahi-common3:arm64 (0.7-4+b1) ... Selecting previously unselected package libavahi-client3:arm64. Preparing to unpack .../229-libavahi-client3_0.7-4+b1_arm64.deb ... Unpacking libavahi-client3:arm64 (0.7-4+b1) ... Selecting previously unselected package libcups2:arm64. Preparing to unpack .../230-libcups2_2.2.10-6+deb10u3_arm64.deb ... Unpacking libcups2:arm64 (2.2.10-6+deb10u3) ... Selecting previously unselected package libqt5widgets5:arm64. Preparing to unpack .../231-libqt5widgets5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5widgets5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5printsupport5:arm64. Preparing to unpack .../232-libqt5printsupport5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5printsupport5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqscintilla2-qt5-13. Preparing to unpack .../233-libqscintilla2-qt5-13_2.10.4+dfsg-2.1_arm64.deb ... Unpacking libqscintilla2-qt5-13 (2.10.4+dfsg-2.1) ... Selecting previously unselected package libqt5sql5:arm64. Preparing to unpack .../234-libqt5sql5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5sql5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libqt5help5:arm64. Preparing to unpack .../235-libqt5help5_5.11.3-4_arm64.deb ... Unpacking libqt5help5:arm64 (5.11.3-4) ... Selecting previously unselected package libqt5opengl5:arm64. Preparing to unpack .../236-libqt5opengl5_5.11.3+dfsg1-1+deb10u3_arm64.deb ... Unpacking libqt5opengl5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Selecting previously unselected package libogg0:arm64. Preparing to unpack .../237-libogg0_1.3.2-1+b1_arm64.deb ... Unpacking libogg0:arm64 (1.3.2-1+b1) ... Selecting previously unselected package libflac8:arm64. Preparing to unpack .../238-libflac8_1.3.2-3_arm64.deb ... Unpacking libflac8:arm64 (1.3.2-3) ... Selecting previously unselected package libvorbis0a:arm64. Preparing to unpack .../239-libvorbis0a_1.3.6-2_arm64.deb ... Unpacking libvorbis0a:arm64 (1.3.6-2) ... Selecting previously unselected package libvorbisenc2:arm64. Preparing to unpack .../240-libvorbisenc2_1.3.6-2_arm64.deb ... Unpacking libvorbisenc2:arm64 (1.3.6-2) ... Selecting previously unselected package libsndfile1:arm64. Preparing to unpack .../241-libsndfile1_1.0.28-6_arm64.deb ... Unpacking libsndfile1:arm64 (1.0.28-6) ... Selecting previously unselected package libtext-unidecode-perl. Preparing to unpack .../242-libtext-unidecode-perl_1.30-1_all.deb ... Unpacking libtext-unidecode-perl (1.30-1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../243-libxml-namespacesupport-perl_1.12-1_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-1) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../244-libxml-sax-base-perl_1.09-1_all.deb ... Unpacking libxml-sax-base-perl (1.09-1) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../245-libxml-sax-perl_1.00+dfsg-1_all.deb ... Unpacking libxml-sax-perl (1.00+dfsg-1) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../246-libxml-libxml-perl_2.0134+dfsg-1_arm64.deb ... Unpacking libxml-libxml-perl (2.0134+dfsg-1) ... Selecting previously unselected package texinfo. Preparing to unpack .../247-texinfo_6.5.0.dfsg.1-4+b1_arm64.deb ... Unpacking texinfo (6.5.0.dfsg.1-4+b1) ... Selecting previously unselected package octave-common. Preparing to unpack .../248-octave-common_4.4.1-5_all.deb ... Unpacking octave-common (4.4.1-5) ... Selecting previously unselected package octave. Preparing to unpack .../249-octave_4.4.1-5_arm64.deb ... Unpacking octave (4.4.1-5) ... Selecting previously unselected package libncurses-dev:arm64. Preparing to unpack .../250-libncurses-dev_6.1+20181013-2+deb10u2_arm64.deb ... Unpacking libncurses-dev:arm64 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libreadline-dev:arm64. Preparing to unpack .../251-libreadline-dev_7.0-5_arm64.deb ... Unpacking libreadline-dev:arm64 (7.0-5) ... Selecting previously unselected package zlib1g-dev:arm64. Preparing to unpack .../252-zlib1g-dev_1%3a1.2.11.dfsg-1_arm64.deb ... Unpacking zlib1g-dev:arm64 (1:1.2.11.dfsg-1) ... Selecting previously unselected package libjpeg62-turbo-dev:arm64. Preparing to unpack .../253-libjpeg62-turbo-dev_1%3a1.5.2-2+b1_arm64.deb ... Unpacking libjpeg62-turbo-dev:arm64 (1:1.5.2-2+b1) ... Selecting previously unselected package libjpeg-dev. Preparing to unpack .../254-libjpeg-dev_1%3a1.5.2-2_all.deb ... Unpacking libjpeg-dev (1:1.5.2-2) ... Selecting previously unselected package libaec-dev:arm64. Preparing to unpack .../255-libaec-dev_1.0.2-1_arm64.deb ... Unpacking libaec-dev:arm64 (1.0.2-1) ... Selecting previously unselected package hdf5-helpers. Preparing to unpack .../256-hdf5-helpers_1.10.4+repack-10_arm64.deb ... Unpacking hdf5-helpers (1.10.4+repack-10) ... Selecting previously unselected package libhdf5-cpp-103:arm64. Preparing to unpack .../257-libhdf5-cpp-103_1.10.4+repack-10_arm64.deb ... Unpacking libhdf5-cpp-103:arm64 (1.10.4+repack-10) ... Selecting previously unselected package libhdf5-dev. Preparing to unpack .../258-libhdf5-dev_1.10.4+repack-10_arm64.deb ... Unpacking libhdf5-dev (1.10.4+repack-10) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../259-xorg-sgml-doctools_1%3a1.11-1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../260-x11proto-dev_2018.4-4_all.deb ... Unpacking x11proto-dev (2018.4-4) ... Selecting previously unselected package x11proto-core-dev. Preparing to unpack .../261-x11proto-core-dev_2018.4-4_all.deb ... Unpacking x11proto-core-dev (2018.4-4) ... Selecting previously unselected package libxau-dev:arm64. Preparing to unpack .../262-libxau-dev_1%3a1.0.8-1+b2_arm64.deb ... Unpacking libxau-dev:arm64 (1:1.0.8-1+b2) ... Selecting previously unselected package libxdmcp-dev:arm64. Preparing to unpack .../263-libxdmcp-dev_1%3a1.1.2-3_arm64.deb ... Unpacking libxdmcp-dev:arm64 (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../264-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libpthread-stubs0-dev:arm64. Preparing to unpack .../265-libpthread-stubs0-dev_0.4-1_arm64.deb ... Unpacking libpthread-stubs0-dev:arm64 (0.4-1) ... Selecting previously unselected package libxcb1-dev:arm64. Preparing to unpack .../266-libxcb1-dev_1.13.1-2_arm64.deb ... Unpacking libxcb1-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libx11-dev:arm64. Preparing to unpack .../267-libx11-dev_2%3a1.6.7-1_arm64.deb ... Unpacking libx11-dev:arm64 (2:1.6.7-1) ... Selecting previously unselected package libdrm-freedreno1:arm64. Preparing to unpack .../268-libdrm-freedreno1_2.4.97-1_arm64.deb ... Unpacking libdrm-freedreno1:arm64 (2.4.97-1) ... Selecting previously unselected package libdrm-tegra0:arm64. Preparing to unpack .../269-libdrm-tegra0_2.4.97-1_arm64.deb ... Unpacking libdrm-tegra0:arm64 (2.4.97-1) ... Selecting previously unselected package libdrm-dev:arm64. Preparing to unpack .../270-libdrm-dev_2.4.97-1_arm64.deb ... Unpacking libdrm-dev:arm64 (2.4.97-1) ... Selecting previously unselected package mesa-common-dev:arm64. Preparing to unpack .../271-mesa-common-dev_18.3.6-2+deb10u1_arm64.deb ... Unpacking mesa-common-dev:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libglvnd-core-dev:arm64. Preparing to unpack .../272-libglvnd-core-dev_1.1.0-1_arm64.deb ... Unpacking libglvnd-core-dev:arm64 (1.1.0-1) ... Selecting previously unselected package libgles1:arm64. Preparing to unpack .../273-libgles1_1.1.0-1_arm64.deb ... Unpacking libgles1:arm64 (1.1.0-1) ... Selecting previously unselected package libgles2:arm64. Preparing to unpack .../274-libgles2_1.1.0-1_arm64.deb ... Unpacking libgles2:arm64 (1.1.0-1) ... Selecting previously unselected package libopengl0:arm64. Preparing to unpack .../275-libopengl0_1.1.0-1_arm64.deb ... Unpacking libopengl0:arm64 (1.1.0-1) ... Selecting previously unselected package libglvnd-dev:arm64. Preparing to unpack .../276-libglvnd-dev_1.1.0-1_arm64.deb ... Unpacking libglvnd-dev:arm64 (1.1.0-1) ... Selecting previously unselected package libx11-xcb-dev:arm64. Preparing to unpack .../277-libx11-xcb-dev_2%3a1.6.7-1_arm64.deb ... Unpacking libx11-xcb-dev:arm64 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri3-dev:arm64. Preparing to unpack .../278-libxcb-dri3-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-dri3-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-render0-dev:arm64. Preparing to unpack .../279-libxcb-render0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-render0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-randr0-dev:arm64. Preparing to unpack .../280-libxcb-randr0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-randr0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-shape0-dev:arm64. Preparing to unpack .../281-libxcb-shape0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-shape0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-xfixes0-dev:arm64. Preparing to unpack .../282-libxcb-xfixes0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-xfixes0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-sync-dev:arm64. Preparing to unpack .../283-libxcb-sync-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-sync-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-present-dev:arm64. Preparing to unpack .../284-libxcb-present-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-present-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxshmfence-dev:arm64. Preparing to unpack .../285-libxshmfence-dev_1.3-1_arm64.deb ... Unpacking libxshmfence-dev:arm64 (1.3-1) ... Selecting previously unselected package libxcb-dri2-0-dev:arm64. Preparing to unpack .../286-libxcb-dri2-0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-dri2-0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package libxcb-glx0-dev:arm64. Preparing to unpack .../287-libxcb-glx0-dev_1.13.1-2_arm64.deb ... Unpacking libxcb-glx0-dev:arm64 (1.13.1-2) ... Selecting previously unselected package x11proto-fixes-dev. Preparing to unpack .../288-x11proto-fixes-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-fixes-dev (1:2018.4-4) ... Selecting previously unselected package libxfixes-dev:arm64. Preparing to unpack .../289-libxfixes-dev_1%3a5.0.3-1_arm64.deb ... Unpacking libxfixes-dev:arm64 (1:5.0.3-1) ... Selecting previously unselected package x11proto-damage-dev. Preparing to unpack .../290-x11proto-damage-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-damage-dev (1:2018.4-4) ... Selecting previously unselected package libxdamage-dev:arm64. Preparing to unpack .../291-libxdamage-dev_1%3a1.1.4-3+b3_arm64.deb ... Unpacking libxdamage-dev:arm64 (1:1.1.4-3+b3) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../292-x11proto-xext-dev_2018.4-4_all.deb ... Unpacking x11proto-xext-dev (2018.4-4) ... Selecting previously unselected package libxext-dev:arm64. Preparing to unpack .../293-libxext-dev_2%3a1.3.3-1+b2_arm64.deb ... Unpacking libxext-dev:arm64 (2:1.3.3-1+b2) ... Selecting previously unselected package x11proto-xf86vidmode-dev. Preparing to unpack .../294-x11proto-xf86vidmode-dev_2018.4-4_all.deb ... Unpacking x11proto-xf86vidmode-dev (2018.4-4) ... Selecting previously unselected package libxxf86vm-dev:arm64. Preparing to unpack .../295-libxxf86vm-dev_1%3a1.1.4-1+b2_arm64.deb ... Unpacking libxxf86vm-dev:arm64 (1:1.1.4-1+b2) ... Selecting previously unselected package libgl1-mesa-dev:arm64. Preparing to unpack .../296-libgl1-mesa-dev_18.3.6-2+deb10u1_arm64.deb ... Unpacking libgl1-mesa-dev:arm64 (18.3.6-2+deb10u1) ... Selecting previously unselected package libblas-dev:arm64. Preparing to unpack .../297-libblas-dev_3.8.0-2_arm64.deb ... Unpacking libblas-dev:arm64 (3.8.0-2) ... Selecting previously unselected package liblapack-dev:arm64. Preparing to unpack .../298-liblapack-dev_3.8.0-2_arm64.deb ... Unpacking liblapack-dev:arm64 (3.8.0-2) ... Selecting previously unselected package libfftw3-long3:arm64. Preparing to unpack .../299-libfftw3-long3_3.3.8-2_arm64.deb ... Unpacking libfftw3-long3:arm64 (3.3.8-2) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../300-libfftw3-bin_3.3.8-2_arm64.deb ... Unpacking libfftw3-bin (3.3.8-2) ... Selecting previously unselected package libfftw3-dev:arm64. Preparing to unpack .../301-libfftw3-dev_3.3.8-2_arm64.deb ... Unpacking libfftw3-dev:arm64 (3.3.8-2) ... Selecting previously unselected package libgfortran-8-dev:arm64. Preparing to unpack .../302-libgfortran-8-dev_8.3.0-6_arm64.deb ... Unpacking libgfortran-8-dev:arm64 (8.3.0-6) ... Selecting previously unselected package gfortran-8. Preparing to unpack .../303-gfortran-8_8.3.0-6_arm64.deb ... Unpacking gfortran-8 (8.3.0-6) ... Selecting previously unselected package gfortran. Preparing to unpack .../304-gfortran_4%3a8.3.0-1_arm64.deb ... Unpacking gfortran (4:8.3.0-1) ... Selecting previously unselected package liboctave-dev. Preparing to unpack .../305-liboctave-dev_4.4.1-5_arm64.deb ... Unpacking liboctave-dev (4.4.1-5) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../306-libencode-locale-perl_1.05-1_all.deb ... Unpacking libencode-locale-perl (1.05-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../307-libtimedate-perl_2.3000-2+deb10u1_all.deb ... Unpacking libtimedate-perl (2.3000-2+deb10u1) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../308-libhttp-date-perl_6.02-1_all.deb ... Unpacking libhttp-date-perl (6.02-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../309-libfile-listing-perl_6.04-1_all.deb ... Unpacking libfile-listing-perl (6.04-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../310-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../311-liburi-perl_1.76-1_all.deb ... Unpacking liburi-perl (1.76-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../312-libhtml-parser-perl_3.72-3+b3_arm64.deb ... Unpacking libhtml-parser-perl (3.72-3+b3) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../313-libhtml-tree-perl_5.07-2_all.deb ... Unpacking libhtml-tree-perl (5.07-2) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../314-libio-html-perl_1.001-1_all.deb ... Unpacking libio-html-perl (1.001-1) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../315-liblwp-mediatypes-perl_6.02-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.02-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../316-libhttp-message-perl_6.18-1_all.deb ... Unpacking libhttp-message-perl (6.18-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../317-libhttp-cookies-perl_6.04-1_all.deb ... Unpacking libhttp-cookies-perl (6.04-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../318-libhttp-negotiate-perl_6.01-1_all.deb ... Unpacking libhttp-negotiate-perl (6.01-1) ... Selecting previously unselected package perl-openssl-defaults:arm64. Preparing to unpack .../319-perl-openssl-defaults_3_arm64.deb ... Unpacking perl-openssl-defaults:arm64 (3) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../320-libnet-ssleay-perl_1.85-2+b1_arm64.deb ... Unpacking libnet-ssleay-perl (1.85-2+b1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../321-libio-socket-ssl-perl_2.060-3_all.deb ... Unpacking libio-socket-ssl-perl (2.060-3) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../322-libnet-http-perl_6.18-1_all.deb ... Unpacking libnet-http-perl (6.18-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../323-liblwp-protocol-https-perl_6.07-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.07-2) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../324-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../325-libwww-perl_6.36-2_all.deb ... Unpacking libwww-perl (6.36-2) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../326-liberror-perl_0.17027-2_all.deb ... Unpacking liberror-perl (0.17027-2) ... Selecting previously unselected package libexporter-lite-perl. Preparing to unpack .../327-libexporter-lite-perl_0.08-1_all.deb ... Unpacking libexporter-lite-perl (0.08-1) ... Selecting previously unselected package libparse-debcontrol-perl. Preparing to unpack .../328-libparse-debcontrol-perl_2.005-4_all.deb ... Unpacking libparse-debcontrol-perl (2.005-4) ... Selecting previously unselected package libconvert-binhex-perl. Preparing to unpack .../329-libconvert-binhex-perl_1.125-1_all.deb ... Unpacking libconvert-binhex-perl (1.125-1) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../330-libnet-smtp-ssl-perl_1.04-1_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-1) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../331-libmailtools-perl_2.18-1_all.deb ... Unpacking libmailtools-perl (2.18-1) ... Selecting previously unselected package libmime-tools-perl. Preparing to unpack .../332-libmime-tools-perl_5.509-1_all.deb ... Unpacking libmime-tools-perl (5.509-1) ... Selecting previously unselected package gnuplot-data. Preparing to unpack .../333-gnuplot-data_5.2.6+dfsg1-1+deb10u1_all.deb ... Unpacking gnuplot-data (5.2.6+dfsg1-1+deb10u1) ... Selecting previously unselected package libpixman-1-0:arm64. Preparing to unpack .../334-libpixman-1-0_0.36.0-1_arm64.deb ... Unpacking libpixman-1-0:arm64 (0.36.0-1) ... Selecting previously unselected package libcairo2:arm64. Preparing to unpack .../335-libcairo2_1.16.0-4_arm64.deb ... Unpacking libcairo2:arm64 (1.16.0-4) ... Selecting previously unselected package libxpm4:arm64. Preparing to unpack .../336-libxpm4_1%3a3.5.12-1_arm64.deb ... Unpacking libxpm4:arm64 (1:3.5.12-1) ... Selecting previously unselected package libgd3:arm64. Preparing to unpack .../337-libgd3_2.2.5-5.2_arm64.deb ... Unpacking libgd3:arm64 (2.2.5-5.2) ... Selecting previously unselected package liblua5.3-0:arm64. Preparing to unpack .../338-liblua5.3-0_5.3.3-1.1_arm64.deb ... Unpacking liblua5.3-0:arm64 (5.3.3-1.1) ... Selecting previously unselected package libfribidi0:arm64. Preparing to unpack .../339-libfribidi0_1.0.5-3.1+deb10u1_arm64.deb ... Unpacking libfribidi0:arm64 (1.0.5-3.1+deb10u1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../340-libthai-data_0.1.28-2_all.deb ... Unpacking libthai-data (0.1.28-2) ... Selecting previously unselected package libdatrie1:arm64. Preparing to unpack .../341-libdatrie1_0.2.12-2_arm64.deb ... Unpacking libdatrie1:arm64 (0.2.12-2) ... Selecting previously unselected package libthai0:arm64. Preparing to unpack .../342-libthai0_0.1.28-2_arm64.deb ... Unpacking libthai0:arm64 (0.1.28-2) ... Selecting previously unselected package libpango-1.0-0:arm64. Preparing to unpack .../343-libpango-1.0-0_1.42.4-8~deb10u1_arm64.deb ... Unpacking libpango-1.0-0:arm64 (1.42.4-8~deb10u1) ... Selecting previously unselected package libpangoft2-1.0-0:arm64. Preparing to unpack .../344-libpangoft2-1.0-0_1.42.4-8~deb10u1_arm64.deb ... Unpacking libpangoft2-1.0-0:arm64 (1.42.4-8~deb10u1) ... Selecting previously unselected package libpangocairo-1.0-0:arm64. Preparing to unpack .../345-libpangocairo-1.0-0_1.42.4-8~deb10u1_arm64.deb ... Unpacking libpangocairo-1.0-0:arm64 (1.42.4-8~deb10u1) ... Selecting previously unselected package gnuplot-nox. Preparing to unpack .../346-gnuplot-nox_5.2.6+dfsg1-1+deb10u1_arm64.deb ... Unpacking gnuplot-nox (5.2.6+dfsg1-1+deb10u1) ... Selecting previously unselected package fonts-freefont-otf. Preparing to unpack .../347-fonts-freefont-otf_20120503-9_all.deb ... Unpacking fonts-freefont-otf (20120503-9) ... Selecting previously unselected package dh-octave-autopkgtest. Preparing to unpack .../348-dh-octave-autopkgtest_0.6.2_all.deb ... Unpacking dh-octave-autopkgtest (0.6.2) ... Selecting previously unselected package dh-octave. Preparing to unpack .../349-dh-octave_0.6.2_all.deb ... Unpacking dh-octave (0.6.2) ... Selecting previously unselected package libslicot0:arm64. Preparing to unpack .../350-libslicot0_5.0+20101122-4_arm64.deb ... Unpacking libslicot0:arm64 (5.0+20101122-4) ... Selecting previously unselected package octave-control. Preparing to unpack .../351-octave-control_3.1.0-3_arm64.deb ... Unpacking octave-control (3.1.0-3) ... Setting up libexpat1:arm64 (2.2.6-2+deb10u1) ... Setting up libmodule-pluggable-perl (5.2-1) ... Setting up libpipeline1:arm64 (1.5.1-2) ... Setting up libgraphite2-3:arm64 (1.3.13-7) ... Setting up liblcms2-2:arm64 (2.9-3) ... Setting up libpixman-1-0:arm64 (0.36.0-1) ... Setting up libwayland-server0:arm64 (1.16.0-1) ... Setting up lsb-base (10.2019051400) ... Setting up libx11-xcb1:arm64 (2:1.6.7-1) ... Setting up libfile-which-perl (1.23-1) ... Setting up libxau6:arm64 (1:1.0.8-1+b2) ... Setting up libkeyutils1:arm64 (1.6-6) ... Setting up libpsl5:arm64 (0.20.2-2) ... Setting up libfftw3-single3:arm64 (3.3.8-2) ... Setting up libogg0:arm64 (1.3.2-1+b1) ... Setting up libmouse-perl (2.5.6-1+b1) ... Setting up libpod-pom-perl (2.01-3) ... Setting up libglvnd-core-dev:arm64 (1.1.0-1) ... Setting up hdf5-helpers (1.10.4+repack-10) ... Setting up libdynaloader-functions-perl (0.003-1) ... Setting up libdatrie1:arm64 (0.2.12-2) ... Setting up libmagic-mgc (1:5.35-4+deb10u1) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:arm64 (2.58.3-2+deb10u2) ... No schema files found: doing nothing. Setting up libglvnd0:arm64 (1.1.0-1) ... Setting up libio-stringy-perl (2.111-3) ... Setting up libssl1.1:arm64 (1.1.1d-0+deb10u3) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libqscintilla2-qt5-l10n (2.10.4+dfsg-2.1) ... Setting up libconvert-binhex-perl (1.125-1) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Setting up fonts-freefont-otf (20120503-9) ... Setting up x11-common (1:7.7+19) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.30-1) ... Setting up libsensors-config (1:3.5.0-3) ... Setting up libnghttp2-14:arm64 (1.36.0-2+deb10u1) ... Setting up libmagic1:arm64 (1:5.35-4+deb10u1) ... Setting up perl-openssl-defaults:arm64 (3) ... Setting up libxml-namespacesupport-perl (1.12-1) ... Setting up libfftw3-long3:arm64 (3.3.8-2) ... Setting up gettext-base (0.19.8.1-9) ... Setting up libclone-choose-perl (0.010-1) ... Setting up xkb-data (2.26-2) ... Setting up libencode-locale-perl (1.05-1) ... Setting up libqhull7:arm64 (2015.2-4) ... Setting up libmetis5:arm64 (5.1.0.dfsg-5+b2) ... Setting up file (1:5.35-4+deb10u1) ... Setting up libldap-common (2.4.47+dfsg-3+deb10u2) ... Setting up libyaml-perl (1.27-1) ... Setting up libpthread-stubs0-dev:arm64 (0.4-1) ... Setting up libjbig0:arm64 (2.1-3.1+b2) ... Setting up octave-common (4.4.1-5) ... Setting up libregexp-common-perl (2017060201-1) ... Setting up libpcre2-16-0:arm64 (10.32-5) ... Setting up libaec0:arm64 (1.0.2-1) ... Setting up libicu63:arm64 (63.1-6+deb10u1) ... Setting up libopengl0:arm64 (1.1.0-1) ... Setting up libsub-install-perl (0.928-1) ... Setting up libflac8:arm64 (1.3.2-3) ... Setting up libkrb5support0:arm64 (1.17-3) ... Setting up libsasl2-modules-db:arm64 (2.1.27+dfsg-1+deb10u1) ... Setting up liberror-perl (0.17027-2) ... Setting up libasound2-data (1.1.8-1) ... Setting up libxml-sax-base-perl (1.09-1) ... Setting up libboolean-perl (0.46-1) ... Setting up xtrans-dev (1.3.5-1) ... Setting up autotools-dev (20180224.1) ... Setting up libgles2:arm64 (1.1.0-1) ... Setting up liblog-log4perl-perl (1.49-1) ... Setting up libjpeg62-turbo:arm64 (1:1.5.2-2+b1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libjpeg62-turbo-dev:arm64 (1:1.5.2-2+b1) ... Setting up librtmp1:arm64 (2.4+20151223.gitfa8646d.1-2) ... Setting up libio-tiecombine-perl (1.005-1) ... Setting up aglfn (1.7-3) ... Setting up libavahi-common-data:arm64 (0.7-4+b1) ... Setting up libncurses6:arm64 (6.1+20181013-2+deb10u2) ... Setting up libgles1:arm64 (1.1.0-1) ... Setting up libdbus-1-3:arm64 (1.12.20-0+deb10u1) ... Setting up libsigsegv2:arm64 (2.12-2) ... Setting up libfribidi0:arm64 (1.0.5-3.1+deb10u1) ... Setting up libopus0:arm64 (1.3-1) ... Setting up libpng16-16:arm64 (1.6.36-6) ... Setting up libvorbis0a:arm64 (1.3.6-2) ... Setting up libio-html-perl (1.001-1) ... Setting up autopoint (0.19.8.1-9) ... Setting up libwebp6:arm64 (0.6.1-2) ... Setting up libb-hooks-op-check-perl (0.22-1+b1) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up libsensors5:arm64 (1:3.5.0-3) ... Setting up libk5crypto3:arm64 (1.17-3) ... Setting up libltdl7:arm64 (2.4.6-9) ... Setting up libfftw3-double3:arm64 (3.3.8-2) ... Setting up libglapi-mesa:arm64 (18.3.6-2+deb10u1) ... Setting up libparams-util-perl (1.07-3+b4) ... Setting up libsasl2-2:arm64 (2.1.27+dfsg-1+deb10u1) ... Setting up libgfortran5:arm64 (8.3.0-6) ... Setting up libmtdev1:arm64 (1.1.5-1+b1) ... Setting up libcapture-tiny-perl (0.48-1) ... Setting up libtimedate-perl (2.3000-2+deb10u1) ... Setting up libexporter-lite-perl (0.08-1) ... Setting up zlib1g-dev:arm64 (1:1.2.11.dfsg-1) ... Setting up libparse-recdescent-perl (1.967015+dfsg-2) ... Setting up sensible-utils (0.0.12) ... Setting up libxshmfence1:arm64 (1.3-1) ... Setting up libpath-tiny-perl (0.108-1) ... Setting up libuchardet0:arm64 (0.0.6-3) ... Setting up liblua5.3-0:arm64 (5.3.3-1.1) ... Setting up libjson-perl (4.02000-1) ... Setting up libasound2:arm64 (1.1.8-1) ... Setting up libmousex-strictconstructor-perl (0.02-2) ... Setting up libthai-data (0.1.28-2) ... Setting up libssh2-1:arm64 (1.8.0-2.1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up netbase (5.6) ... Setting up libkrb5-3:arm64 (1.17-3) ... Setting up libtiff5:arm64 (4.1.0+git191117-2~deb10u1) ... Setting up libexporter-tiny-perl (1.002001-1) ... Setting up libtext-unidecode-perl (1.30-1) ... Setting up libfile-homedir-perl (1.004-1) ... Setting up libsamplerate0:arm64 (0.1.9-2) ... Setting up openssl (1.1.1d-0+deb10u3) ... Setting up libwebpmux3:arm64 (0.6.1-2) ... Setting up libbsd0:arm64 (0.9.1-2) ... Setting up libdrm-common (2.4.97-1) ... Setting up libelf1:arm64 (0.176-1.1) ... Setting up libevdev2:arm64 (1.6.0+dfsg-1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:arm64 (2.9.4+dfsg1-7+b3) ... Setting up libdouble-conversion1:arm64 (3.1.0-3) ... Setting up libsuitesparseconfig5:arm64 (1:5.4.0+dfsg-1) ... Setting up liburi-perl (1.76-1) ... Setting up libcarp-assert-perl (0.21-1) ... Setting up libgudev-1.0-0:arm64 (232-2) ... Setting up libsz2:arm64 (1.0.2-1) ... Setting up libvorbisenc2:arm64 (1.3.6-2) ... Setting up libreadline7:arm64 (7.0-5) ... Setting up libwacom-common (0.32-1) ... Setting up libmousex-nativetraits-perl (1.09-2) ... Setting up libxkbcommon0:arm64 (0.8.2-1) ... Setting up libwayland-client0:arm64 (1.16.0-1) ... Setting up libnet-ssleay-perl (1.85-2+b1) ... Setting up x11proto-dev (2018.4-4) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up gnuplot-data (5.2.6+dfsg1-1+deb10u1) ... Setting up libgfortran-8-dev:arm64 (8.3.0-6) ... Setting up libamd2:arm64 (1:5.4.0+dfsg-1) ... Setting up libice6:arm64 (2:1.0.9-2) ... Setting up libhttp-date-perl (6.02-1) ... Setting up libcarp-assert-more-perl (1.16-1) ... Setting up libxdmcp6:arm64 (1:1.1.2-3) ... Setting up libncurses-dev:arm64 (6.1+20181013-2+deb10u2) ... Setting up libxcb1:arm64 (1.13.1-2) ... Setting up libxcb-xfixes0:arm64 (1.13.1-2) ... Setting up libfile-listing-perl (6.04-1) ... Setting up libxau-dev:arm64 (1:1.0.8-1+b2) ... Setting up libcolamd2:arm64 (1:5.4.0+dfsg-1) ... Setting up libtool (2.4.6-9) ... Setting up libxcb-render0:arm64 (1.13.1-2) ... Setting up libxshmfence-dev:arm64 (1.3-1) ... Setting up libfftw3-bin (3.3.8-2) ... Setting up liblist-moreutils-perl (0.416-1+b4) ... Setting up gfortran-8 (8.3.0-6) ... Setting up libxcb-glx0:arm64 (1.13.1-2) ... Setting up libedit2:arm64 (3.1-20181209-1) ... Setting up libhash-merge-perl (0.300-1) ... Setting up libxcb-keysyms1:arm64 (0.4.0-1+b2) ... Setting up libaec-dev:arm64 (1.0.2-1) ... Setting up libxcb-shape0:arm64 (1.13.1-2) ... Setting up libavahi-common3:arm64 (0.7-4+b1) ... Setting up libjpeg-dev (1:1.5.2-2) ... Setting up libldap-2.4-2:arm64 (2.4.47+dfsg-3+deb10u2) ... Setting up libnet-http-perl (6.18-1) ... Setting up m4 (1.4.18-2) ... Setting up libxcb-render-util0:arm64 (0.3.9-1+b1) ... Setting up libxcb-shm0:arm64 (1.13.1-2) ... Setting up libxcb-icccm4:arm64 (0.4.1-1.1) ... Setting up libxcb-util0:arm64 (0.3.8-3+b2) ... Setting up libreadline-dev:arm64 (7.0-5) ... Setting up libdevel-callchecker-perl (0.008-1) ... Setting up gfortran (4:8.3.0-1) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libbtf1:arm64 (1:5.4.0+dfsg-1) ... Setting up libxcb-xkb1:arm64 (1.13.1-2) ... Setting up libxcb-image0:arm64 (0.4.0-1+b2) ... Setting up libxcb-present0:arm64 (1.13.1-2) ... Setting up libthai0:arm64 (0.1.28-2) ... Setting up ca-certificates (20190110) ... Updating certificates in /etc/ssl/certs... 128 added, 0 removed; done. Setting up libcamd2:arm64 (1:5.4.0+dfsg-1) ... Setting up libxdmcp-dev:arm64 (1:1.1.2-3) ... Setting up libblas3:arm64 (3.8.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode Setting up libxcb-xinerama0:arm64 (1.13.1-2) ... Setting up x11proto-damage-dev (1:2018.4-4) ... Setting up libfreetype6:arm64 (2.9.1-3+deb10u1) ... Setting up libglpk40:arm64 (4.65-2) ... Setting up libxcb-sync1:arm64 (1.13.1-2) ... Setting up x11proto-core-dev (2018.4-4) ... Setting up libconfig-model-perl (2.133-1) ... Setting up libhdf5-103:arm64 (1.10.4+repack-10) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libxkbcommon-x11-0:arm64 (0.8.2-1) ... Setting up libgssapi-krb5-2:arm64 (1.17-3) ... Setting up libdata-optlist-perl (0.110-1) ... Setting up libcroco3:arm64 (0.6.12-3) ... Setting up ucf (3.0038+nmu1) ... Setting up libqt5core5a:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up autoconf (2.69-11) ... Setting up libxcb-dri2-0:arm64 (1.13.1-2) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up x11proto-xf86vidmode-dev (2018.4-4) ... Setting up libjack-jackd2-0:arm64 (1.9.12~dfsg-2) ... Setting up x11proto-xext-dev (2018.4-4) ... Setting up libdrm2:arm64 (2.4.97-1) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3) ... Setting up libklu1:arm64 (1:5.4.0+dfsg-1) ... Setting up libqt5dbus5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up libccolamd2:arm64 (1:5.4.0+dfsg-1) ... Setting up libxcb-randr0:arm64 (1.13.1-2) ... Setting up libhtml-parser-perl (3.72-3+b3) ... Setting up libllvm7:arm64 (1:7.0.1-8) ... Setting up libx11-6:arm64 (2:1.6.7-1) ... Setting up libharfbuzz0b:arm64 (2.3.1-1) ... Setting up libcxsparse3:arm64 (1:5.4.0+dfsg-1) ... Setting up libsndfile1:arm64 (1.0.28-6) ... Setting up x11proto-fixes-dev (1:2018.4-4) ... Setting up libwacom2:arm64 (0.32-1) ... Setting up libsm6:arm64 (2:1.2.3-1) ... Setting up libfftw3-dev:arm64 (3.3.8-2) ... Setting up libavahi-client3:arm64 (0.7-4+b1) ... Setting up libio-socket-ssl-perl (2.060-3) ... Setting up libblas-dev:arm64 (3.8.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode Setting up libsub-exporter-perl (0.987-1) ... Setting up libhttp-message-perl (6.18-1) ... Setting up libdrm-amdgpu1:arm64 (2.4.97-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libxcb-dri3-0:arm64 (1.13.1-2) ... Setting up libportaudio2:arm64 (19.6.0-1) ... Setting up libhttp-negotiate-perl (6.01-1) ... Setting up liblapack3:arm64 (3.8.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode Setting up libdrm-nouveau2:arm64 (2.4.97-1) ... Setting up gettext (0.19.8.1-9) ... Setting up libdrm-etnaviv1:arm64 (2.4.97-1) ... Setting up libxcb1-dev:arm64 (1.13.1-2) ... Setting up libxpm4:arm64 (1:3.5.12-1) ... Setting up libxrender1:arm64 (1:0.9.10-1) ... Setting up libgbm1:arm64 (18.3.6-2+deb10u1) ... Setting up libhttp-cookies-perl (6.04-1) ... Setting up libwmf0.2-7:arm64 (0.2.8.4-14) ... Setting up libdrm-radeon1:arm64 (2.4.97-1) ... Setting up fontconfig-config (2.13.1-2) ... Setting up libslicot0:arm64 (5.0+20101122-4) ... Setting up libhtml-tree-perl (5.07-2) ... Setting up libparams-classify-perl (0.015-1+b1) ... Setting up libgl1-mesa-dri:arm64 (18.3.6-2+deb10u1) ... Setting up libhdf5-cpp-103:arm64 (1.10.4+repack-10) ... Setting up libarpack2:arm64 (3.7.0-2) ... Setting up libx11-dev:arm64 (2:1.6.7-1) ... Setting up libxext6:arm64 (2:1.3.3-1+b2) ... Setting up libxcb-dri3-dev:arm64 (1.13.1-2) ... Setting up libcurl3-gnutls:arm64 (7.64.0-4+deb10u1) ... Setting up libqrupdate1:arm64 (1.1.2-3) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libxml-sax-perl (1.00+dfsg-1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libqt5network5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up libxxf86vm1:arm64 (1:1.1.4-1+b2) ... Setting up libinput-bin (1.12.6-2+deb10u1) ... Setting up intltool-debian (0.35.0+20060710.5) ... Setting up libqt5sql5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up tex-common (6.11) ... update-language: texlive-base not installed and configured, doing nothing! Setting up libegl-mesa0:arm64 (18.3.6-2+deb10u1) ... Setting up libxcb-dri2-0-dev:arm64 (1.13.1-2) ... Setting up libnet-smtp-ssl-perl (1.04-1) ... Setting up libmodule-runtime-perl (0.016-1) ... Setting up libmailtools-perl (2.18-1) ... Setting up libxfixes3:arm64 (1:5.0.3-1) ... Setting up libxinerama1:arm64 (2:1.1.4-2) ... Setting up libhdf5-dev (1.10.4+repack-10) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up liblapack-dev:arm64 (3.8.0-2) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode Setting up libdrm-freedreno1:arm64 (2.4.97-1) ... Setting up libgraphicsmagick-q16-3 (1.4+really1.3.35-1~deb10u1) ... Setting up libxcb-render0-dev:arm64 (1.13.1-2) ... Setting up libxcb-glx0-dev:arm64 (1.13.1-2) ... Setting up libdrm-tegra0:arm64 (2.4.97-1) ... Setting up libxcb-shape0-dev:arm64 (1.13.1-2) ... Setting up libxext-dev:arm64 (2:1.3.3-1+b2) ... Setting up libxml-libxml-perl (2.0134+dfsg-1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libcups2:arm64 (2.2.10-6+deb10u3) ... Setting up libegl1:arm64 (1.1.0-1) ... Setting up libxcb-sync-dev:arm64 (1.13.1-2) ... Setting up libgraphicsmagick++-q16-12 (1.4+really1.3.35-1~deb10u1) ... Setting up libxcb-xfixes0-dev:arm64 (1.13.1-2) ... Setting up libfontconfig1:arm64 (2.13.1-2) ... Setting up libcholmod3:arm64 (1:5.4.0+dfsg-1) ... Setting up libstring-rewriteprefix-perl (0.007-2) ... Setting up libinput10:arm64 (1.12.6-2+deb10u1) ... Setting up libx11-xcb-dev:arm64 (2:1.6.7-1) ... Setting up fontconfig (2.13.1-2) ... Regenerating fonts cache... done. Setting up libdrm-dev:arm64 (2.4.97-1) ... Setting up libxft2:arm64 (2.3.2-2) ... Setting up libxdamage1:arm64 (1:1.1.4-3+b3) ... Setting up libxi6:arm64 (2:1.7.9-1) ... Setting up libmodule-implementation-perl (0.09-1) ... Setting up libpackage-stash-perl (0.38-1) ... Setting up po-debconf (1.0.21) ... Setting up libxxf86vm-dev:arm64 (1:1.1.4-1+b2) ... Setting up libxcursor1:arm64 (1:1.1.15-2) ... Setting up libpango-1.0-0:arm64 (1.42.4-8~deb10u1) ... Setting up libmime-tools-perl (5.509-1) ... Setting up libcairo2:arm64 (1.16.0-4) ... Setting up libclass-load-perl (0.25-1) ... Setting up libxfixes-dev:arm64 (1:5.0.3-1) ... Setting up libumfpack5:arm64 (1:5.4.0+dfsg-1) ... Setting up libxcb-randr0-dev:arm64 (1.13.1-2) ... Setting up libxcb-present-dev:arm64 (1.13.1-2) ... Setting up libgd3:arm64 (2.2.5-5.2) ... Setting up texinfo (6.5.0.dfsg.1-4+b1) ... Setting up mesa-common-dev:arm64 (18.3.6-2+deb10u1) ... Setting up libpangoft2-1.0-0:arm64 (1.42.4-8~deb10u1) ... Setting up libparams-validate-perl (1.29-1+b1) ... Setting up libpangocairo-1.0-0:arm64 (1.42.4-8~deb10u1) ... Setting up libxdamage-dev:arm64 (1:1.1.4-3+b3) ... Setting up libglx-mesa0:arm64 (18.3.6-2+deb10u1) ... Setting up libglx0:arm64 (1.1.0-1) ... Setting up libfltk1.3:arm64 (1.3.4-9) ... Setting up libgl1:arm64 (1.1.0-1) ... Setting up libgetopt-long-descriptive-perl (0.103-2) ... Setting up libglu1-mesa:arm64 (9.0.0-2.1+b3) ... Setting up gnuplot-nox (5.2.6+dfsg1-1+deb10u1) ... update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode Setting up libapp-cmd-perl (0.331-1) ... Setting up libfltk-gl1.3:arm64 (1.3.4-9) ... Setting up libqt5gui5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up libglvnd-dev:arm64 (1.1.0-1) ... Setting up libqt5widgets5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up libqt5help5:arm64 (5.11.3-4) ... Setting up libgl2ps1.4 (1.4.0+dfsg1-2) ... Setting up liboctave6:arm64 (4.4.1-5) ... Setting up libqt5printsupport5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up dh-octave-autopkgtest (0.6.2) ... Setting up cme (1.029-1) ... Setting up libqscintilla2-qt5-13 (2.10.4+dfsg-2.1) ... Setting up libqt5opengl5:arm64 (5.11.3+dfsg1-1+deb10u3) ... Setting up libgl1-mesa-dev:arm64 (18.3.6-2+deb10u1) ... Setting up octave (4.4.1-5) ... Setting up liboctave-dev (4.4.1-5) ... Setting up octave-control (3.1.0-3) ... Setting up libwww-perl (6.36-2) ... Setting up libparse-debcontrol-perl (2.005-4) ... Setting up dh-autoreconf (19) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Setting up liblwp-protocol-https-perl (6.07-2) ... Setting up debhelper (12.1.1) ... Setting up dh-octave (0.6.2) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for ca-certificates (20190110) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/octave-signal-1.4.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package octave-signal dpkg-buildpackage: info: source version 1.4.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Rafael Laboissiere dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --buildsystem=octave --with=octave dh_auto_clean -O--buildsystem=octave dh_octave_clean make[1]: Entering directory '/build/octave-signal-1.4.0/src' rm -f *.o *.oct PKG_* make[1]: Leaving directory '/build/octave-signal-1.4.0/src' dh_autoreconf_clean -O--buildsystem=octave dh_clean -O--buildsystem=octave debian/rules binary dh binary --buildsystem=octave --with=octave dh_update_autotools_config -O--buildsystem=octave dh_autoreconf -O--buildsystem=octave dh_octave_version -O--buildsystem=octave Checking the Octave version... ok dh_auto_configure -O--buildsystem=octave dh_auto_build -O--buildsystem=octave dh_auto_test -O--buildsystem=octave create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=octave dh_prep -O--buildsystem=octave dh_auto_install -O--buildsystem=octave octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m warning: pkg: creating the directory /build/octave-signal-1.4.0/debian/octave-signal/usr/share/octave/packages warning: pkg: creating the directory /build/octave-signal-1.4.0/debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages make[1]: Entering directory '/build/octave-signal-1.4.0/src' /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations __fwht__.cc -o __fwht__.oct /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations __ultrwin__.cc -o __ultrwin__.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations __fwht__.cc -o __fwht__.o /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations -c cl2bp.cc -o cl2bp.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations __ultrwin__.cc -o __ultrwin__.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations cl2bp.cc -o cl2bp.o /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations -c cl2bp_lib.cc -o cl2bp_lib.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations cl2bp_lib.cc -o cl2bp_lib.o /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations medfilt1.cc -o medfilt1.oct /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations remez.cc -o remez.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations medfilt1.cc -o medfilt1.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations remez.cc -o remez.o /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations sosfilt.cc -o sosfilt.oct /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations upfirdn.cc -o upfirdn.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations sosfilt.cc -o sosfilt.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-deprecated-declarations upfirdn.cc -o upfirdn.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o __fwht__.oct __fwht__.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o __ultrwin__.oct __ultrwin__.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -Wno-deprecated-declarations cl2bp.o cl2bp_lib.o -o cl2bp.oct g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o cl2bp.oct cl2bp.o cl2bp_lib.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o sosfilt.oct sosfilt.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o upfirdn.oct upfirdn.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o medfilt1.oct medfilt1.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/octave-signal-1.4.0=. -fstack-protector-strong -Wformat -Werror=format-security -shared -Wl,-Bsymbolic -Wall -Wno-deprecated-declarations -o remez.oct remez.o -L/usr/lib/aarch64-linux-gnu/octave/4.4.1 -L/usr/lib/aarch64-linux-gnu -loctinterp -loctave -Wl,-z,relro make[1]: Leaving directory '/build/octave-signal-1.4.0/src' copyfile /build/octave-signal-1.4.0/./src/__fwht__.oct /build/octave-signal-1.4.0/./src/__ultrwin__.oct /build/octave-signal-1.4.0/./src/cl2bp.oct /build/octave-signal-1.4.0/./src/medfilt1.oct /build/octave-signal-1.4.0/./src/remez.oct /build/octave-signal-1.4.0/./src/sosfilt.oct /build/octave-signal-1.4.0/./src/upfirdn.oct /build/octave-signal-1.4.0/./inst/aarch64-unknown-linux-gnu-api-v52 For information about changes from previous versions of the signal package, run 'news signal'. dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... [inst/impinvar.m] >>>>> /build/octave-signal-1.4.0/inst/impinvar.m ***** function err = stozerr(bs,as,fs) # number of time steps n=100; # impulse invariant transform to z-domain [bz az]=impinvar(bs,as,fs); # create sys object of transfer function s=tf(bs,as); # calculate impulse response of continuous time system # at discrete time intervals 1/fs ys=impulse(s,(n-1)/fs,1/fs)'; # impulse response of discrete time system yz=filter(bz,az,[1 zeros(1,n-1)]); # find rms error err=sqrt(sum((yz*fs.-ys).^2)/length(ys)); endfunction ***** assert(stozerr([1],[1 1],100),0,0.0001); ***** assert(stozerr([1],[1 2 1],100),0,0.0001); ***** assert(stozerr([1 1],[1 2 1],100),0,0.0002); ***** assert(stozerr([1],[1 3 3 1],100),0,0.0001); ***** assert(stozerr([1 1],[1 3 3 1],100),0,0.0001); ***** assert(stozerr([1 1 1],[1 3 3 1],100),0,0.0001); ***** assert(stozerr([1],[1 0 1],100),0,0.0001); ***** assert(stozerr([1 1],[1 0 1],100),0,0.0001); ***** assert(stozerr([1],[1 0 2 0 1],100),0,0.0001); ***** assert(stozerr([1 1],[1 0 2 0 1],100),0,0.0001); ***** assert(stozerr([1 1 1],[1 0 2 0 1],100),0,0.0001); ***** assert(stozerr([1 1 1 1],[1 0 2 0 1],100),0,0.0001); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/zp2sos.m] >>>>> /build/octave-signal-1.4.0/inst/zp2sos.m ***** test B=[1 0 0 0 0 1]; A=[1 0 0 0 0 .9]; [z,p,k] = tf2zp(B,A); [sos,g] = zp2sos(z,p,k); [Bh,Ah] = sos2tf(sos,g); assert({Bh,Ah},{B,A},100*eps); 1 test, 1 passed, 0 known failure, 0 skipped [inst/zerocrossing.m] >>>>> /build/octave-signal-1.4.0/inst/zerocrossing.m ***** test x = linspace(0,1,100); y = rand(1,100)-0.5; x0= zerocrossing(x,y); y0 = interp1(x,y,x0); assert(norm(y0,inf), 0, 100*eps) ***** test x = linspace(0,1,100); y = rand(1,100)-0.5; y(10:20) = 0; x0= zerocrossing(x,y); y0 = interp1(x,y,x0); assert(norm(y0,inf), 0, 100*eps) ***** demo x = linspace(0,1,100); y = rand(1,100)-0.5; x0= zerocrossing(x,y); y0 = interp1(x,y,x0); plot(x,y,x0,y0,'x') ***** demo x = linspace(0,1,100); y = rand(1,100)-0.5; y(10:20) = 0; x0= zerocrossing(x,y); y0 = interp1(x,y,x0); plot(x,y,x0,y0,'x') 2 tests, 2 passed, 0 known failure, 0 skipped [inst/xcorr2.m] >>>>> /build/octave-signal-1.4.0/inst/xcorr2.m ***** test # basic usage a = magic (5); b = [6 13 22; 10 18 23; 8 15 23]; c = [391 807 519 391 473 289 120 920 1318 1045 909 1133 702 278 995 1476 1338 1534 2040 1161 426 828 1045 1501 2047 2108 1101 340 571 1219 2074 2155 1896 821 234 473 1006 1643 1457 946 347 108 242 539 850 477 374 129 54]; assert (xcorr2 (a, b), c); ***** shared a, b, c, row_shift, col_shift row_shift = 18; col_shift = 20; a = randi (255, 30, 30); b = a(row_shift-10:row_shift, col_shift-7:col_shift); c = xcorr2 (a, b, "coeff"); ***** assert (nthargout ([1 2], @find, c == max (c(:))), {row_shift, col_shift}); # should return exact coordinates m = rand (size (b)) > 0.5; b(m) = b(m) * 0.95; b(!m) = b(!m) * 1.05; c = xcorr2 (a, b, "coeff"); ***** assert (nthargout ([1 2], @find, c == max (c(:))), {row_shift, col_shift}); # even with some small noise, should return exact coordinates ***** test # coeff of autocorrelation must be same as negative of correlation by additive inverse a = 10 * randn (100, 100); auto = xcorr2 (a, "coeff"); add_in = xcorr2 (a, -a, "coeff"); assert ([min(auto(:)), max(auto(:))], -[max(add_in(:)), min(add_in(:))]); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/window.m] >>>>> /build/octave-signal-1.4.0/inst/window.m ***** assert (window (@bartlett, 16), window ("bartlett", 16)) ***** assert (window (@hamming, 16), window ("hamming", 16)) ***** assert (window (@hanning, 16), window ("hanning", 16)) ***** assert (window (@triang, 16), window ("triang", 16)) ***** error window () ***** error window (1) ***** error window ("hanning") 7 tests, 7 passed, 0 known failure, 0 skipped [inst/welchwin.m] >>>>> /build/octave-signal-1.4.0/inst/welchwin.m ***** demo m = 32; t = [0:m-1]; printf ("Graph: single period of "); printf ("%d-point periodic (blue) and symmetric (red) windows\n", m); xp = welchwin (m, "periodic"); xs = welchwin (m, "symmetric"); plot (t, xp, "b", t, xs, "r") ***** demo m = 32; t = [0:4*m-1]; printf ("Graph: 4 periods of "); printf ("%d-point periodic (blue) and symmetric (red) windows\n", m); xp = welchwin (m, "periodic"); xs = welchwin (m, "symmetric"); xp2 = repmat (xp, 4, 1); xs2 = repmat (xs, 4, 1); plot (t, xp2, "b", t, xs2, "r") ***** demo m = 32; n = 512; xp = welchwin (m, "periodic"); s = fftshift (max (1e-2, abs (fft (postpad (xp, n))))); f = [-0.5:1/n:0.5-1/n]; printf ("%dx null-padded, power spectrum of %d-point window\n", n/m, m); semilogy (f, s) ***** assert (welchwin (3), [0; 1; 0]); ***** assert (welchwin (15), flipud (welchwin (15))); ***** assert (welchwin (16), flipud (welchwin (16))); ***** assert (welchwin (15), welchwin (15, "symmetric")); ***** assert (welchwin (16)(1:15), welchwin (15, "periodic")); ***** error welchwin () ***** error welchwin (0.5) ***** error welchwin (-1) ***** error welchwin (ones (1, 4)) ***** error welchwin (1, 2, 3) ***** error welchwin (1, "invalid") 11 tests, 11 passed, 0 known failure, 0 skipped [inst/upsamplefill.m] >>>>> /build/octave-signal-1.4.0/inst/upsamplefill.m ***** assert(upsamplefill([1,3,5],2),[1,2,3,2,5,2]); ***** assert(upsamplefill([1;3;5],2),[1;2;3;2;5;2]); ***** assert(upsamplefill([1,2,5],[2 -2]),[1,2,-2,2,2,-2,5,2,-2]); ***** assert(upsamplefill(eye(2),2,true),[1,0;1,0;1,0;0,1;0,1;0,1]); ***** assert(upsamplefill([1,3,5],2,true),[1,1,1,3,3,3,5,5,5]); ***** assert(upsamplefill([1;3;5],2,true),[1;1;1;3;3;3;;5;5;5]); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/upsample.m] >>>>> /build/octave-signal-1.4.0/inst/upsample.m ***** assert(upsample([1,3,5],2),[1,0,3,0,5,0]); ***** assert(upsample([1;3;5],2),[1;0;3;0;5;0]); ***** assert(upsample([1,2;5,6;9,10],2),[1,2;0,0;5,6;0,0;9,10;0,0]); ***** assert(upsample([2,4],2,1),[0,2,0,4]); ***** assert(upsample([3,4;7,8],2,1),[0,0;3,4;0,0;7,8]); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/unshiftdata.m] >>>>> /build/octave-signal-1.4.0/inst/unshiftdata.m ***** test x = 1:5; [y, perm, shifts] = shiftdata (x); x2 = unshiftdata (y, perm, shifts); assert (x, x2); ***** test X = fix (rand (3, 3) * 100); [Y, perm, shifts] = shiftdata (X, 2); X2 = unshiftdata (Y, perm, shifts); assert (X, X2); ***** test X = fix (rand (4, 4, 4, 4) * 100); [Y, perm, shifts] = shiftdata (X, 3); X2 = unshiftdata (Y, perm, shifts); assert (X, X2); ***** test X = fix (rand (1, 1, 3, 4) * 100); [Y, perm, shifts] = shiftdata (X); X2 = unshiftdata (Y, perm, shifts); assert (X, X2); ***** error unshiftdata () ***** error unshiftdata (1, 2) ***** error unshiftdata (1, 2, 3, 4) ***** error unshiftdata (1, 2.5) ***** error unshiftdata (1, [], 2.5) ***** error unshiftdata (1, [], []) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/ultrwin.m] >>>>> /build/octave-signal-1.4.0/inst/ultrwin.m ***** test assert(ultrwin(100, 1, 1), ones(100, 1), 1e-14); ***** test L = 201; xmu = 1.01; m = L-1; for mu = -1.35:.3:1.35 x = xmu*cos([0:m]*pi/L); C(2,:) = 2*mu*x; C(1,:) = 1; for k = 2:m; C(k+1,:) = 2*(k+mu-1)/k*x.*C(k,:) - (k+2*mu-2)/k*C(k-1,:); end b = real(ifft(C(m+1,:))); b = b(m/2+2:L)/b(1); assert(ultrwin(L, mu, xmu, "x")', [b 1 fliplr(b)], 1e-12); end ***** test b = [ 5.7962919401511820e-03 1.6086991349967078e-02 3.6019014684117417e-02 6.8897525451558125e-02 1.1802364384553447e-01 1.8566749737411145e-01 2.7234740630826737e-01 3.7625460141456091e-01 4.9297108901880221e-01 6.1558961695849457e-01 7.3527571856983598e-01 8.4222550739092694e-01 9.2688779484512085e-01 9.8125497127708561e-01]'; [w xmu] = ultrwin(29, 0, 3); assert(w', [b 1 fliplr(b)], 1e-14); assert(xmu, 1.053578297819277, 1e-14); ***** test b = [ 2.9953636903962466e-02 7.6096450051659603e-02 1.5207129867916891e-01 2.5906995366355179e-01 3.9341065451220536e-01 5.4533014012036929e-01 6.9975915071207051e-01 8.3851052636906720e-01 9.4345733548690369e-01]'; assert(ultrwin(20, .5, 50, "a")', [b 1 1 fliplr(b)], 1e-14); ***** test b = [ 1.0159906492322712e-01 1.4456358609406283e-01 2.4781689516201011e-01 3.7237015168857646e-01 5.1296973026690407e-01 6.5799041448113671e-01 7.9299087042967320e-01 9.0299778924260576e-01 9.7496213649820296e-01]'; assert(ultrwin(19, -.4, 40, "l")', [b 1 fliplr(b)], 1e-14); ***** demo w=ultrwin(120, -1, 40, "l"); [W,f]=freqz(w); clf subplot(2,1,1); plot(f/pi, 20*log10(W/abs(W(1)))); grid; axis([0 1 -90 0]) subplot(2,1,2); plot(0:length(w)-1, w); grid %----------------------------------------------------------- % Figure shows an Ultraspherical window with MU=-1, LATT=40: % frequency domain above, time domain below. ***** demo c="krbm"; clf; subplot(2, 1, 1) for beta=2:5 w=ultrwin(80, -.5, beta); [W,f]=freqz(w); plot(f/pi, 20*log10(W/abs(W(1))), c(1+mod(beta, length(c)))); hold on end; grid; axis([0 1 -140 0]); hold off subplot(2, 1, 2); for n=2:10 w=ultrwin(n*20, 1, 3); [W,f]=freqz(w,1,2^11); plot(f/pi, 20*log10(W/abs(W(1))), c(1+mod(n, length(c)))); hold on end; grid; axis([0 .2 -100 0]); hold off %-------------------------------------------------- % Figure shows transfers of Ultraspherical windows: % above: varying BETA with fixed N & MU, % below: varying N with fixed MU & BETA. ***** demo c="krbm"; clf; subplot(2, 1, 1) for j=0:4 w=ultrwin(80, j*.6-1.2, 50, "a"); [W,f]=freqz(w); plot(f/pi, 20*log10(W/abs(W(1))), c(1+mod(j, length(c)))); hold on end; grid; axis([0 1 -100 0]); hold off subplot(2, 1, 2); for j=4:-1:0 w=ultrwin(80, j*.75-1.5, 50, "l"); [W,f]=freqz(w); plot(f/pi, 20*log10(W/abs(W(1))), c(1+mod(j, length(c)))); hold on end; grid; axis([0 1 -100 0]); hold off %-------------------------------------------------- % Figure shows transfers of Ultraspherical windows: % above: varying MU with fixed N & ATT, % below: varying MU with fixed N & LATT. ***** demo clf; a=[.8 2 -115 5]; fc=1.1/pi; l="labelxy"; for k=1:3; switch (k); case 1; w=kaiser(L=159, 7.91); case 2; w=ultrwin(L=165, 0, 2.73); case 3; w=ultrwin(L=153, .5, 2.6); end subplot(3, 1, 4-k); f=[1:(L-1)/2]*pi;f=sin(fc*f)./f; f=[fliplr(f) fc f]'; [h,f]=freqz(w.*f,1,2^14); plot(f,20*log10(h)); grid; axis(a,l); l="labely"; end %----------------------------------------------------------- % Figure shows example lowpass filter design (Fp=1, Fs=1.2 % rad/s, att=80 dB) and comparison with other windows. From % top to bottom: Ultraspherical, Dolph-Chebyshev, and Kaiser % windows, with lengths 153, 165, and 159 respectively. 5 tests, 5 passed, 0 known failure, 0 skipped [inst/uencode.m] >>>>> /build/octave-signal-1.4.0/inst/uencode.m ***** test u = [-3:0.5:3]; y = uencode (u, 2); assert (y, [0 0 0 0 0 1 2 3 3 3 3 3 3]); ***** test u = [-4:0.5:4]; y = uencode (u, 3, 4); assert (y, [0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 7]); ***** test u = [-8:0.5:8]; y = uencode(u, 4, 8, "unsigned"); assert (y, [0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 15]); ***** test u = [-8:0.5:8]; y = uencode(u, 4, 8, "signed"); assert (y, [-8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 7]); ***** error uencode () ***** error uencode (1) ***** error uencode (1, 2, 3, 4, 5) ***** error uencode (1, 100) ***** error uencode (1, 4, 0) ***** error uencode (1, 4, -1) ***** error uencode (1, 4, 2, "invalid") 11 tests, 11 passed, 0 known failure, 0 skipped [inst/udecode.m] >>>>> /build/octave-signal-1.4.0/inst/udecode.m ***** test u = [0 0 0 0 0 1 2 3 3 3 3 3 3]; y = udecode(u, 2); assert(y, [-1 -1 -1 -1 -1 -0.5 0 0.5 0.5 0.5 0.5 0.5 0.5]); ***** test u = [0 1 2 3 4 5 6 7 8 9 10]; y = udecode(u, 2, 1, "saturate"); assert(y, [-1 -0.5 0 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]); ***** test u = [0 1 2 3 4 5 6 7 8 9 10]; y = udecode(u, 2, 1, "wrap"); assert(y, [-1 -0.5 0 0.5 -1 -0.5 0 0.5 -1 -0.5 0]); ***** test u = [-4 -3 -2 -1 0 1 2 3]; y = udecode(u, 3, 2); assert(y, [-2, -1.5 -1 -0.5 0 0.5 1 1.5]); ***** test u = [-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7]; y = udecode(u, 3, 2, "saturate"); assert(y, [-2 -2 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 1.5 1.5 1.5 1.5]); ***** test u = [-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7]; y = udecode(u, 3, 2, "wrap"); assert(y, [0.5 1 1.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 -2 -1.5 -1 -0.5]); ***** error udecode () ***** error udecode (1) ***** error udecode (1, 2, 3, 4, 5) ***** error udecode (1.5) ***** error udecode (1, 100) ***** error udecode (1, 4, 0) ***** error udecode (1, 4, -1) ***** error udecode (1, 4, 2, "invalid") 14 tests, 14 passed, 0 known failure, 0 skipped [inst/tukeywin.m] >>>>> /build/octave-signal-1.4.0/inst/tukeywin.m ***** demo m = 100; r = 1/3; w = tukeywin (m, r); title(sprintf("%d-point Tukey window, R = %d/%d", m, [p, q] = rat(r), q)); plot(w); ***** assert (tukeywin (1), 1) ***** assert (tukeywin (2), zeros (2, 1)) ***** assert (tukeywin (3), [0; 1; 0]) ***** assert (tukeywin (16, 0), rectwin (16)) ***** assert (tukeywin (16, 1), hanning (16)) ***** error tukeywin () ***** error tukeywin (0.5) ***** error tukeywin (-1) ***** error tukeywin (ones (1, 4)) ***** error tukeywin (1, 2, 3) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/tripuls.m] >>>>> /build/octave-signal-1.4.0/inst/tripuls.m ***** demo fs = 11025; # arbitrary sample rate f0 = 100; # pulse train sample rate w = 0.5/f0; # pulse width 1/10th the distance between pulses x = pulstran (0:1/fs:4/f0, 0:1/f0:4/f0, "tripuls", w); plot ([0:length(x)-1]*1000/fs, x); xlabel ("Time (ms)"); ylabel ("Amplitude"); title ("Triangular pulse train of 5 ms pulses at 10 ms intervals"); ***** demo fs = 11025; # arbitrary sample rate f0 = 100; # pulse train sample rate w = 0.5/f0; # pulse width 1/10th the distance between pulses x = pulstran (0:1/fs:4/f0, 0:1/f0:4/f0, "tripuls", w, -0.5); plot ([0:length(x)-1]*1000/fs, x); xlabel ("Time (ms)"); ylabel ("Amplitude"); title ("Triangular pulse train of 5 ms pulses at 10 ms intervals, skew = -0.5"); ***** assert (tripuls ([]), []) ***** assert (tripuls ([], 0.1), []) ***** assert (tripuls (zeros (10, 1)), ones (10, 1)) ***** assert (tripuls (-1:1), [0, 1, 0]) ***** assert (tripuls (-5:5, 9), [0, 1, 3, 5, 7, 9, 7, 5, 3, 1, 0] / 9) ***** assert (tripuls (0:1/100:0.3, 0.1), tripuls ([0:1/100:0.3]', 0.1)') ***** error tripuls () ***** error tripuls (1, 2, 3, 4) ***** error tripuls (1, 2j) ***** error tripuls (1, 2, 2) ***** error tripuls (1, 2, -2) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/triang.m] >>>>> /build/octave-signal-1.4.0/inst/triang.m ***** assert (triang (1), 1) ***** assert (triang (2), [1; 1]/2) ***** assert (triang (3), [1; 2; 1]/2) ***** assert (triang (4), [1; 3; 3; 1]/4) ***** test x = bartlett (5); assert (triang (3), x(2:4)); ***** error triang () ***** error triang (0.5) ***** error triang (-1) ***** error triang (ones (1, 4)) ***** error triang (1, 2) ***** demo subplot(221); n=7; k=(n-1)/2; t=[-k:0.1:k]/(k+1); plot(t,1-abs(t),";continuous;",[-k:k]/(k+1),triang(n),"g*;discrete;"); axis([-1, 1, 0, 1.3]); grid("on"); title("comparison with continuous for odd n"); subplot(222); n=8; k=(n-1)/2; t=[-k:0.1:k]/(k+1/2); plot(t,1+1/n-abs(t),";continuous;",[-k:k]/(k+1/2),triang(n),"g*;discrete;"); axis([-1, 1, 0, 1.3]); grid("on"); title("note the higher peak for even n"); subplot(223); n=7; plot(0:n+1,bartlett(n+2),"g-*;bartlett;",triang(n),"r-+;triang;"); axis; grid("off"); title("n odd, triang(n)==bartlett(n+2)"); subplot(224); n=8; plot(0:n+1,bartlett(n+2),"g-*;bartlett;",triang(n),"r-+;triang;"); axis; grid("off"); title("n even, triang(n)!=bartlett(n+2)"); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/tf2sos.m] >>>>> /build/octave-signal-1.4.0/inst/tf2sos.m ***** test B=[1 0 0 0 0 1]; A=[1 0 0 0 0 .9]; [sos,g] = tf2sos(B,A); [Bh,Ah] = sos2tf(sos,g); assert({Bh,Ah},{B,A},100*eps); 1 test, 1 passed, 0 known failure, 0 skipped [inst/specgram.m] >>>>> /build/octave-signal-1.4.0/inst/specgram.m ***** shared S,f,t,x Fs=1000; x = chirp([0:1/Fs:2],0,2,500); # freq. sweep from 0-500 over 2 sec. step=ceil(20*Fs/1000); # one spectral slice every 20 ms window=ceil(100*Fs/1000); # 100 ms data window [S, f, t] = specgram(x); ## test of returned shape ***** assert (rows(S), 128) ***** assert (columns(f), rows(S)) ***** assert (columns(t), columns(S)) ***** test [S, f, t] = specgram(x'); ***** assert (rows(S), 128) ***** assert (columns(f), rows(S)); ***** assert (columns(t), columns(S)); ***** error (isempty(specgram([]))); ***** error (isempty(specgram([1, 2 ; 3, 4]))); ***** error (specgram) ***** demo Fs=1000; x = chirp([0:1/Fs:2],0,2,500); # freq. sweep from 0-500 over 2 sec. step=ceil(20*Fs/1000); # one spectral slice every 20 ms window=ceil(100*Fs/1000); # 100 ms data window ## test of automatic plot [S, f, t] = specgram(x); specgram(x, 2^nextpow2(window), Fs, window, window-step); ***** #demo # FIXME: Enable once we have an audio file to demo ## Speech spectrogram [x, Fs] = auload(file_in_loadpath("sample.wav")); # audio file step = fix(5*Fs/1000); # one spectral slice every 5 ms window = fix(40*Fs/1000); # 40 ms data window fftn = 2^nextpow2(window); # next highest power of 2 [S, f, t] = specgram(x, fftn, Fs, window, window-step); S = abs(S(2:fftn*4000/Fs,:)); # magnitude in range 0>>>> /build/octave-signal-1.4.0/inst/sos2zp.m ***** test b1t=[1 2 3]; a1t=[1 .2 .3]; b2t=[4 5 6]; a2t=[1 .4 .5]; sos=[b1t a1t; b2t a2t]; z = [-1-1.41421356237310i;-1+1.41421356237310i;... -0.625-1.05326872164704i;-0.625+1.05326872164704i]; p = [-0.2-0.678232998312527i;-0.2+0.678232998312527i;... -0.1-0.538516480713450i;-0.1+0.538516480713450i]; k = 4; [z2,p2,k2] = sos2zp(sos,1); assert({cplxpair(z2),cplxpair(p2),k2},{z,p,k},100*eps); 1 test, 1 passed, 0 known failure, 0 skipped [inst/sos2tf.m] >>>>> /build/octave-signal-1.4.0/inst/sos2tf.m ***** test B=[1 1]; A=[1 0.5]; [sos,g] = tf2sos(B,A); [Bh,Ah] = sos2tf(sos,g); assert({Bh,Ah},{B,A},10*eps); ***** test B=[1 0 0 0 0 1]; A=[1 0 0 0 0 0.9]; [sos,g] = tf2sos(B,A); [Bh,Ah] = sos2tf(sos,g); assert({Bh,Ah},{B,A},100*eps); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/shiftdata.m] >>>>> /build/octave-signal-1.4.0/inst/shiftdata.m ***** test X = [1 2 3; 4 5 6; 7 8 9]; [Y, perm, shifts] = shiftdata (X, 2); assert (Y, [1 4 7; 2 5 8; 3 6 9]); assert (perm, [2 1]); ***** test X = [27 42 11; 63 48 5; 67 74 93]; X(:, :, 2) = [15 23 81; 34 60 28; 70 54 38]; [Y, perm, shifts] = shiftdata(X, 2); T = [27 63 67; 42 48 74; 11 5 93]; T(:, :, 2) = [15 34 70; 23 60 54; 81 28 38]; assert(Y, T); assert(perm, [2 1 3]); ***** test X = fix (rand (4, 4, 4, 4) * 100); [Y, perm, shifts] = shiftdata (X, 3); T = 0; for i = 1:3 for j = 1:3 for k = 1:2 for l = 1:2 T = [T Y(k, i, j, l) - X(i, j, k ,l)]; endfor endfor endfor endfor assert (T, zeros (size (T))); ***** error shiftdata () ***** error shiftdata (1, 2, 3) ***** error shiftdata (1, 2.5) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/sgolay.m] >>>>> /build/octave-signal-1.4.0/inst/sgolay.m ***** test N=2^12; t=[0:N-1]'/N; dt=t(2)-t(1); w = 2*pi*50; offset = 0.5; # 50 Hz carrier # exponential modulation and its derivatives d = 1+exp(-3*(t-offset)); dd = -3*exp(-3*(t-offset)); d2d = 9*exp(-3*(t-offset)); d3d = -27*exp(-3*(t-offset)); # modulated carrier and its derivatives x = d.*sin(w*t); dx = dd.*sin(w*t) + w*d.*cos(w*t); d2x = (d2d-w^2*d).*sin(w*t) + 2*w*dd.*cos(w*t); d3x = (d3d-3*w^2*dd).*sin(w*t) + (3*w*d2d-w^3*d).*cos(w*t); y = sgolayfilt(x,sgolay(8,41,0,dt)); assert(norm(y-x)/norm(x),0,5e-6); y = sgolayfilt(x,sgolay(8,41,1,dt)); assert(norm(y-dx)/norm(dx),0,5e-6); y = sgolayfilt(x,sgolay(8,41,2,dt)); assert(norm(y-d2x)/norm(d2x),0,1e-5); y = sgolayfilt(x,sgolay(8,41,3,dt)); assert(norm(y-d3x)/norm(d3x),0,1e-4); 1 test, 1 passed, 0 known failure, 0 skipped [inst/rssq.m] >>>>> /build/octave-signal-1.4.0/inst/rssq.m ***** assert (rssq ([]), 0) ***** assert (rssq ([1 2 -1]), sqrt (6)) ***** assert (rssq ([1 2 -1]'), sqrt (6)) ***** assert (rssq ([1 2], 3), [1 2]) ***** error rssq () ***** error rssq (1, 2, 3) ***** error rssq (1, 1.5) ***** error rssq (1, -1) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/rms.m] >>>>> /build/octave-signal-1.4.0/inst/rms.m ***** assert (rms (0), 0) ***** assert (rms (1), 1) ***** assert (rms ([1 2 -1]), sqrt (2)) ***** assert (rms ([1 2 -1]'), sqrt (2)) ***** assert (rms ([1 2], 3), [1 2]) ***** error rms () ***** error rms (1, 2, 3) ***** error rms (1, 1.5) ***** error rms (1, -1) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/residuez.m] >>>>> /build/octave-signal-1.4.0/inst/residuez.m ***** test B=[1 -2 1]; A=[1 -1]; [r,p,f,m] = residuez(B,A); assert(r,0,100*eps); assert(p,1,100*eps); assert(f,[1 -1],100*eps); assert(m,1,100*eps); ***** test B=1; A=[1 -1j]; [r,p,f,m] = residuez(B,A); assert(r,1,100*eps); assert(p,1j,100*eps); assert(f,[],100*eps); assert(m,1,100*eps); ***** test B=1; A=[1 -1 .25]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[0;1],1e-7); assert(p(is),[0.5;0.5],1e-8); assert(f,[],100*eps); assert(m(is),[1;2],100*eps); ***** test B=1; A=[1 -0.75 .125]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[-1;2],100*eps); assert(p(is),[0.25;0.5],100*eps); assert(f,[],100*eps); assert(m(is),[1;1],100*eps); ***** test B=[1,6,2]; A=[1,-2,1]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[-10;9],1e-7); assert(p(is),[1;1],1e-8); assert(f,[2],100*eps); assert(m(is),[1;2],100*eps); ***** test B=[6,2]; A=[1,-2,1]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[-2;8],1e-7); assert(p(is),[1;1],1e-8); assert(f,[],100*eps); assert(m(is),[1;2],100*eps); ***** test B=[1,6,6,2]; A=[1,-2,1]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[-24;15],2e-7); assert(p(is),[1;1],1e-8); assert(f,[10,2],100*eps); assert(m(is),[1;2],100*eps); ***** test B=[1,6,6,2]; A=[1,-(2+j),(1+2j),-j]; [r,p,f,m] = residuez(B,A); [rs,is] = sort(r); assert(rs,[-2+2.5j;7.5+7.5j;-4.5-12j],1E-6); assert(p(is),[1j;1;1],1E-6); assert(f,-2j,1E-6); assert(m(is),[1;2;1],1E-6); ***** test B=[1,0,1]; A=[1,0,0,0,0,-1]; [r,p,f,m] = residuez(B,A); [as,is] = sort(angle(p)); rise = [ ... 0.26180339887499 - 0.19021130325903i; ... 0.03819660112501 + 0.11755705045849i; ... 0.4; ... 0.03819660112501 - 0.11755705045849i; ... 0.26180339887499 + 0.19021130325903i;]; pise = [ ... -0.80901699437495 - 0.58778525229247i; ... 0.30901699437495 - 0.95105651629515i; ... 1; ... 0.30901699437495 + 0.95105651629515i; ... -0.80901699437495 + 0.58778525229247i]; assert(r(is),rise,100*eps); assert(p(is),pise,100*eps); assert(f,[],100*eps); assert(m,[1;1;1;1;1],100*eps); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/residued.m] >>>>> /build/octave-signal-1.4.0/inst/residued.m ***** test B=1; A=[1 -1]; [r,p,f,m] = residued(B,A); assert({r,p,f,m},{1,1,[],1},100*eps); [r2,p2,f2,m2] = residuez(B,A); assert({r,p,f,m},{r2,p2,f2,m2},100*eps); ***** test B=[1 -2 1]; A=[1 -1]; [r,p,f,m] = residued(B,A); assert({r,p,f,m},{0,1,[1 -1],1},100*eps); ***** test B=[1 -2 1]; A=[1 -0.5]; [r,p,f,m] = residued(B,A); assert({r,p,f,m},{0.25,0.5,[1 -1.5],1},100*eps); ***** test B=1; A=[1 -0.75 0.125]; [r,p,f,m] = residued(B,A); [r2,p2,f2,m2] = residuez(B,A); assert({r,p,f,m},{r2,p2,f2,m2},100*eps); ***** test B=1; A=[1 -2 1]; [r,p,f,m] = residued(B,A); [r2,p2,f2,m2] = residuez(B,A); assert({r,p,f,m},{r2,p2,f2,m2},100*eps); ***** test B=[6,2]; A=[1 -2 1]; [r,p,f,m] = residued(B,A); [r2,p2,f2,m2] = residuez(B,A); assert({r,p,f,m},{r2,p2,f2,m2},100*eps); ***** test B=[1 1 1]; A=[1 -2 1]; [r,p,f,m] = residued(B,A); assert(r,[0;3],1e-7); assert(p,[1;1],1e-8); assert(f,1,100*eps); assert(m,[1;2],100*eps); ***** test B=[2 6 6 2]; A=[1 -2 1]; [r,p,f,m] = residued(B,A); assert(r,[8;16],3e-7); assert(p,[1;1],1e-8); assert(f,[2,10],100*eps); assert(m,[1;2],100*eps); ***** test B=[1,6,2]; A=[1 -2 1]; [r,p,f,m] = residued(B,A); assert(r,[-1;9],3e-7); assert(p,[1;1],1e-8); assert(f,1,100*eps); assert(m,[1;2],100*eps); ***** test B=[1 0 0 0 1]; A=[1 0 0 0 -1]; [r,p,f,m] = residued(B,A); [~,is] = sort(angle(p)); assert(r(is),[-1/2;-j/2;1/2;j/2],100*eps); assert(p(is),[-1;-j;1;j],100*eps); assert(f,1,100*eps); assert(m,[1;1;1;1],100*eps); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/resample.m] >>>>> /build/octave-signal-1.4.0/inst/resample.m ***** test N=512; p=3; q=5; r=p/q; NN=ceil(r*N); t=0:N-1; tt=0:NN-1; err=zeros(N/2,1); for n = 0:N/2-1, phi0=2*pi*rand; f0=n/N; x=sin(2*pi*f0*t' + phi0); [y,h]=resample(x,p,q); xx=sin(2*pi*f0/r*tt' + phi0); t0=ceil((length(h)-1)/2/q); idx=t0+1:NN-t0; err(n+1)=max(abs(y(idx)-xx(idx))); endfor; rolloff=.1; rejection=10^-3; idx_inband=1:ceil((1-rolloff/2)*r*N/2)-1; assert(max(err(idx_inband))>>>> /build/octave-signal-1.4.0/inst/rectwin.m ***** assert (rectwin (1), 1) ***** assert (rectwin (2), ones (2, 1)) ***** assert (rectwin (100), ones (100, 1)) ***** error rectwin () ***** error rectwin (0.5) ***** error rectwin (-1) ***** error rectwin (ones (1, 4)) ***** error rectwin (1, 2) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/rectpuls.m] >>>>> /build/octave-signal-1.4.0/inst/rectpuls.m ***** demo fs = 11025; # arbitrary sample rate f0 = 100; # pulse train sample rate w = 0.3/f0; # pulse width 1/10th the distance between pulses x = pulstran (0:1/fs:4/f0, 0:1/f0:4/f0, "rectpuls", w); plot ([0:length(x)-1]*1000/fs, x); xlabel ("Time (ms)"); ylabel ("Amplitude"); title ("Rectangular pulse train of 3 ms pulses at 10 ms intervals"); ***** assert (rectpuls ([]), []) ***** assert (rectpuls ([], 0.1), []) ***** assert (rectpuls (zeros (10, 1)), ones (10, 1)) ***** assert (rectpuls (-1:1), [0, 1, 0]) ***** assert (rectpuls (-5:5, 9), [0, ones(1,9), 0]) ***** assert (rectpuls (0:1/100:0.3, 0.1), rectpuls ([0:1/100:0.3]', 0.1)') ***** error rectpuls () ***** error rectpuls (1, 2, 3) ***** error rectpuls (1, 2j) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/rceps.m] >>>>> /build/octave-signal-1.4.0/inst/rceps.m ***** error rceps ***** error rceps(1,2) # too many arguments ***** test ## accepts matrices x=randn(32,3); [y, xm] = rceps(x); ## check the mag-phase response of the reproduction hx = fft(x); hxm = fft(xm); assert(abs(hx), abs(hxm), 200*eps); # good magnitude response match ## FIXME: test for minimum phase? Stop using random datasets! #assert(arg(hx) != arg(hxm)); # phase mismatch ***** test ## accepts column and row vectors x=randn(256,1); [y, xm] = rceps(x); [yt, xmt] = rceps(x.'); tol = 1e-14; assert(yt.', y, tol); assert(xmt.', xm, tol); ***** test x = randn(33, 4); [y, xm] = rceps(x); assert(size(y) == size(x)); assert(size(xm) == size(x)); ***** demo f0=70; Fs=10000; # 100 Hz fundamental, 10kHz sampling rate a=real(poly(0.985*exp(1i*pi*[0.1, -0.1, 0.3, -0.3]))); # two formants s=0.05*randn(1024,1); # Noise excitation signal s(floor(1:Fs/f0:length(s))) = 1; # Impulse glottal wave x=filter(1,a,s); # Speech signal in x [y, xm] = rceps(x); # cepstrum and minimum phase x [hx, w] = freqz(x,1,[],Fs); hxm = freqz(xm); figure(1); subplot(311); len = 1000 * fix (min (length (x), length (xm)) / 1000); plot([0:len-1]*1000/Fs,x(1:len),'b;signal;'); hold on; plot([0:len-1]*1000/Fs,xm(1:len),'g;reconstruction;'); ylabel("amplitude"); xlabel("time (ms)"); hold off; subplot(312); axis("ticy"); plot(w,log(abs(hx)), ";magnitude;", ... w,log(abs(hxm)),";reconstruction;"); xlabel("frequency (Hz)"); subplot(313); axis("on"); plot(w,unwrap(arg(hx))/(2*pi), ";phase;",... w,unwrap(arg(hxm))/(2*pi),";reconstruction;"); xlabel("frequency (Hz)"); len = 1000 * fix (length (y) / 1000); figure(2); plot([0:len-1]*1000/Fs,y(1:len),';cepstrum;'); ylabel("amplitude"); xlabel("quefrency (ms)"); %------------------------------------------------------------- % confirm the magnitude spectrum is identical in the signal % and the reconstruction and that there are peaks in the % cepstrum at 14 ms intervals corresponding to an F0 of 70 Hz. 5 tests, 5 passed, 0 known failure, 0 skipped [inst/pulstran.m] >>>>> /build/octave-signal-1.4.0/inst/pulstran.m ***** error pulstran ***** error pulstran(1,2,3,4,5,6) ***** ## parameter size and shape checking ***** shared t,d t = 0:0.01:1; d=0:0.1:1; ***** assert (isempty(pulstran([], d, 'sin'))); ***** assert (pulstran(t, [], 'sin'), zeros(size(t))); ***** assert (isempty(pulstran([], d, boxcar(5)))); ***** assert (pulstran(t, [], boxcar(5)), zeros(size(t))); ***** assert (size(pulstran(t,d,'sin')), size(t)); ***** assert (size(pulstran(t,d','sin')), size(t)); ***** assert (size(pulstran(t',d,'sin')), size(t')); ***** assert (size(pulstran(t,d','sin')), size(t)); ***** demo fs = 11025; # arbitrary sample rate f0 = 100; # pulse train sample rate w = 0.003; # pulse width of 3 milliseconds t = 0:1/fs:0.1; d=0:1/f0:0.1; # define sample times and pulse times a = hanning(length(d)); # define pulse amplitudes subplot(221); x = pulstran(t', d', 'rectpuls', w); plot([0:length(x)-1]*1000/fs, x); hold on; plot(d*1000,ones(size(d)),'g*;pulse;'); hold off; ylabel("amplitude"); xlabel("time (ms)"); title("rectpuls"); subplot(223); x = pulstran(f0*t, [f0*d', a], 'sinc'); plot([0:length(x)-1]*1000/fs, x); hold on; plot(d*1000,a,'g*;pulse;'); hold off; ylabel("amplitude"); xlabel("time (ms)"); title("sinc => band limited interpolation"); subplot(222); pulse = boxcar(30); # pulse width of 3 ms at 10 kHz x = pulstran(t, d', pulse, 10000); plot([0:length(x)-1]*1000/fs, x); hold on; plot(d*1000,ones(size(d)),'g*;pulse;'); hold off; ylabel("amplitude"); xlabel("time (ms)"); title("interpolated boxcar"); subplot(224); pulse = sin(2*pi*[0:0.0001:w]/w).*[w:-0.0001:0]; x = pulstran(t', [d', a], pulse', 10000); plot([0:length(x)-1]*1000/fs, x); hold on; plot(d*1000,a*w,'g*;pulse;'); hold off; title(""); ylabel("amplitude"); xlabel("time (ms)"); title("interpolated asymmetric sin"); %---------------------------------------------------------- % Should see (1) rectangular pulses centered on *, % (2) rectangular pulses to the right of *, % (3) smooth interpolation between the *'s, and % (4) asymmetric sines to the right of * 10 tests, 10 passed, 0 known failure, 0 skipped [inst/primitive.m] >>>>> /build/octave-signal-1.4.0/inst/primitive.m ***** demo f = @(t) sin (2*pi*3*t); t = [0; sort(rand (100, 1))]; F = primitive (f, t, 0); t_true = linspace (0, 1, 1e3).'; F_true = (1 - cos (2 * pi * 3 * t_true)) / (2 * pi * 3); h = plot (t, F, "o;Numerical primitive;", t_true, F_true, "-;True primitive;"); set (h, "linewidth", 2); title ("Numerical primitive evaluated at random time points"); ***** error primitive () ***** error primitive (1) ***** error primitive (1, 2, 3, 4) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/pow2db.m] >>>>> /build/octave-signal-1.4.0/inst/pow2db.m ***** shared pow pow = [0, 10, 20, 60, 100]; ***** assert (pow2db (pow), [-Inf, 10.000, 13.010, 17.782, 20.000], 0.01) ***** assert (pow2db (pow'), [-Inf; 10.000; 13.010; 17.782; 20.000], 0.01) ***** error pow2db () ***** error pow2db (1, 2) ***** error pow2db (-5) ***** error pow2db ([-5 7]) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/pei_tseng_notch.m] >>>>> /build/octave-signal-1.4.0/inst/pei_tseng_notch.m ***** test ## 2Hz bandwidth sf = 800; sf2 = sf/2; data=[sinetone(49,sf,10,1),sinetone(50,sf,10,1),sinetone(51,sf,10,1)]; [b, a] = pei_tseng_notch ( 50 / sf2, 2 / sf2 ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - 1000 : end, : ) ) ); assert ( damp_db, [ -3 -251.9 -3 ], -0.1 ) ***** test ## 1Hz bandwidth sf = 800; sf2 = sf/2; data=[sinetone(49.5,sf,10,1),sinetone(50,sf,10,1),sinetone(50.5,sf,10,1)]; [b, a] = pei_tseng_notch ( 50 / sf2, 1 / sf2 ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - 1000 : end, : ) ) ); assert ( damp_db, [ -3 -240.4 -3 ], -0.1 ) ***** demo sf = 800; sf2 = sf/2; data=[[1;zeros(sf-1,1)],sinetone(49,sf,1,1),sinetone(50,sf,1,1),sinetone(51,sf,1,1)]; [b,a]=pei_tseng_notch ( 50 / sf2, 2/sf2 ); filtered = filter(b,a,data); clf subplot ( columns ( filtered ), 1, 1) plot(filtered(:,1),";Impulse response;") subplot ( columns ( filtered ), 1, 2 ) plot(filtered(:,2),";49Hz response;") subplot ( columns ( filtered ), 1, 3 ) plot(filtered(:,3),";50Hz response;") subplot ( columns ( filtered ), 1, 4 ) plot(filtered(:,4),";51Hz response;") 2 tests, 2 passed, 0 known failure, 0 skipped [inst/peak2rms.m] >>>>> /build/octave-signal-1.4.0/inst/peak2rms.m ***** assert (peak2rms (1), 1) ***** assert (peak2rms (-5), 1) ***** assert (peak2rms ([-2 3; 4 -2]), [4/sqrt(10), 3/sqrt((9+4)/2)]) ***** assert (peak2rms ([-2 3; 4 -2], 2), [3/sqrt((9+4)/2); 4/sqrt(10)]) ***** assert (peak2rms ([1 2 3], 3), [1 1 1]) ***** error peak2rms () ***** error peak2rms (1, 2, 3) ***** error peak2rms (1, 1.5) ***** error peak2rms (1, -1) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/peak2peak.m] >>>>> /build/octave-signal-1.4.0/inst/peak2peak.m ***** test X = [23 42 85; 62 46 65; 18 40 28]; Y = peak2peak (X); assert (Y, [44 6 57]); Y = peak2peak (X, 1); assert (Y, [44 6 57]); Y = peak2peak (X, 2); assert (Y, [62; 19; 22]); ***** test X = [71 62 33]; X(:, :, 2) = [88 36 21]; X(:, :, 3) = [83 46 85]; Y = peak2peak (X); T = [38]; T(:, :, 2) = [67]; T(:, :, 3) = [39]; assert (Y, T); ***** test X = [71 72 22; 16 22 50; 29 44 14]; X(:, :, 2) = [10 15 62; 1 94 30; 72 43 53]; X(:, :, 3) = [57 98 32; 84 95 51; 25 24 0]; Y = peak2peak (X); T = [55 50 36]; T(:, :, 2) = [71 79 32]; T(:, :, 3) = [59 74 51]; assert (Y, T); Y = peak2peak (X, 2); T = [50; 34; 30]; T(:, :, 2) = [52; 93; 29]; T(:, :, 3) = [66; 44; 25]; assert (Y, T); Y = peak2peak (X, 3); T = [61 83 40; 83 73 21; 47 20 53]; assert (Y, T); ***** test X = [60 61; 77 77]; X(:, :, 2) = [24 24; 22 74]; temp = [81 87; 88 62]; temp(:, :, 2) = [20 83; 81 18]; X(:, :, :, 2) = temp; Y = peak2peak (X); T = [17 16]; T(:, :, 2) = [2 50]; T2 = [7 25]; T2(:, :, 2) = [61 65]; T(:, :, :, 2) = T2; assert (Y, T); ***** error peak2peak () ***** error peak2peak (1, 2, 3) ***** error peak2peak (1, 1.5) ***** error peak2peak (1, 0) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/parzenwin.m] >>>>> /build/octave-signal-1.4.0/inst/parzenwin.m ***** assert (parzenwin (1), 1) ***** assert (parzenwin (2), 0.25 * ones (2, 1)) ***** error parzenwin () ***** error parzenwin (0.5) ***** error parzenwin (-1) ***** error parzenwin (ones (1, 4)) ***** error parzenwin (1, 2) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/nuttallwin.m] >>>>> /build/octave-signal-1.4.0/inst/nuttallwin.m ***** assert (nuttallwin (1), 1) ***** assert (nuttallwin (2), zeros (2, 1), eps) ***** assert (nuttallwin (15), flipud (nuttallwin (15)), 10*eps); ***** assert (nuttallwin (16), flipud (nuttallwin (16)), 10*eps); ***** assert (nuttallwin (15), nuttallwin (15, "symmetric")); ***** assert (nuttallwin (16)(1:15), nuttallwin (15, "periodic")); ***** error nuttallwin () ***** error nuttallwin (0.5) ***** error nuttallwin (-1) ***** error nuttallwin (ones (1, 4)) ***** error nuttallwin (1, 2) ***** error nuttallwin (1, "invalid") 12 tests, 12 passed, 0 known failure, 0 skipped [inst/marcumq.m] >>>>> /build/octave-signal-1.4.0/inst/marcumq.m ***** error marcumq (1) ***** error marcumq (-1, 1, 1, 1, 1) ***** error marcumq (-1, 1) ***** error marcumq (1, -1) ***** error marcumq (1, 1, 0) ***** error marcumq (1, 1, -1) ***** error marcumq (1, 1, 1.1) ***** test a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [0.000000, 0.100000, 1.100000, 2.100000, 3.100000, 4.100000]; Q = [1.000000, 0.995012, 0.546074, 0.110251, 0.008189, 0.000224; 1.000000, 0.995019, 0.546487, 0.110554, 0.008238, 0.000226; 1.000000, 0.996971, 0.685377, 0.233113, 0.034727, 0.002092; 1.000000, 0.999322, 0.898073, 0.561704, 0.185328, 0.027068; 1.000000, 0.999944, 0.985457, 0.865241, 0.526735, 0.169515; 1.000000, 0.999998, 0.999136, 0.980933, 0.851679, 0.509876; 1.000000, 1.000000, 0.999979, 0.998864, 0.978683, 0.844038; 1.000000, 1.000000, 1.000000, 0.999973, 0.998715, 0.977300; 1.000000, 1.000000, 1.000000, 1.000000, 0.999969, 0.998618; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999966; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b); assert (q, Q, 1e-6); ***** test a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [5.100000, 6.100000, 7.100000, 8.100000, 9.100000, 10.10000]; Q = [0.000002, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000002, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000049, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.001606, 0.000037, 0.000000, 0.000000, 0.000000, 0.000000; 0.024285, 0.001420, 0.000032, 0.000000, 0.000000, 0.000000; 0.161412, 0.022812, 0.001319, 0.000030, 0.000000, 0.000000; 0.499869, 0.156458, 0.021893, 0.001256, 0.000028, 0.000000; 0.839108, 0.493229, 0.153110, 0.021264, 0.001212, 0.000027; 0.976358, 0.835657, 0.488497, 0.150693, 0.020806, 0.001180; 0.998549, 0.975673, 0.833104, 0.484953, 0.148867, 0.020458; 0.999965, 0.998498, 0.975152, 0.831138, 0.482198, 0.147437; 1.000000, 0.999963, 0.998458, 0.974742, 0.829576, 0.479995; 1.000000, 1.000000, 0.999962, 0.998426, 0.974411, 0.828307; 1.000000, 1.000000, 1.000000, 0.999961, 0.998400, 0.974138; 1.000000, 1.000000, 1.000000, 1.000000, 0.999960, 0.998378; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999960; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b); assert (q, Q, 1e-6); ***** test a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [11.10000, 12.10000, 13.10000, 14.10000, 15.10000, 16.10000]; Q = [0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.000026, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000; 0.001155, 0.000026, 0.000000, 0.000000, 0.000000, 0.000000; 0.020183, 0.001136, 0.000025, 0.000000, 0.000000, 0.000000; 0.146287, 0.019961, 0.001120, 0.000025, 0.000000, 0.000000; 0.478193, 0.145342, 0.019778, 0.001107, 0.000024, 0.000000; 0.827253, 0.476692, 0.144551, 0.019625, 0.001096, 0.000024; 0.973909, 0.826366, 0.475422, 0.143881, 0.019494, 0.001087; 0.998359, 0.973714, 0.825607, 0.474333, 0.143304, 0.019381; 0.999959, 0.998343, 0.973546, 0.824952, 0.473389, 0.142803; 1.000000, 0.999959, 0.998330, 0.973400, 0.824380, 0.472564; 1.000000, 1.000000, 0.999958, 0.998318, 0.973271, 0.823876; 1.000000, 1.000000, 1.000000, 0.999958, 0.998307, 0.973158; 1.000000, 1.000000, 1.000000, 1.000000, 0.999957, 0.998297; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999957; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b); assert (q, Q, 1e-6); ***** test a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [17.10000, 18.10000, 19.10000]; Q = [0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000000, 0.000000, 0.000000; 0.000024, 0.000000, 0.000000; 0.001078, 0.000024, 0.000000; 0.019283, 0.001071, 0.000023; 0.142364, 0.019197, 0.001065; 0.471835, 0.141976, 0.019121; 0.823429, 0.471188, 0.141630; 0.973056, 0.823030, 0.470608; 0.998289, 0.972965, 0.822671; 0.999957, 0.998281, 0.972883; 1.000000, 0.999957, 0.998274; 1.000000, 1.000000, 0.999956; 1.000000, 1.000000, 1.000000]; q = marcumq (a, b); assert (q, Q, 1e-6); ***** test M = 2; a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [ 0.00, 0.10, 2.10, 7.10, 12.10, 17.10]; Q = [1.000000, 0.999987, 0.353353, 0.000000, 0.000000, 0.000000; 1.000000, 0.999988, 0.353687, 0.000000, 0.000000, 0.000000; 1.000000, 0.999992, 0.478229, 0.000000, 0.000000, 0.000000; 1.000000, 0.999999, 0.745094, 0.000001, 0.000000, 0.000000; 1.000000, 1.000000, 0.934771, 0.000077, 0.000000, 0.000000; 1.000000, 1.000000, 0.992266, 0.002393, 0.000000, 0.000000; 1.000000, 1.000000, 0.999607, 0.032264, 0.000000, 0.000000; 1.000000, 1.000000, 0.999992, 0.192257, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.545174, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.864230, 0.000040, 0.000000; 1.000000, 1.000000, 1.000000, 0.981589, 0.001555, 0.000000; 1.000000, 1.000000, 1.000000, 0.998957, 0.024784, 0.000000; 1.000000, 1.000000, 1.000000, 0.999976, 0.166055, 0.000000; 1.000000, 1.000000, 1.000000, 1.000000, 0.509823, 0.000000; 1.000000, 1.000000, 1.000000, 1.000000, 0.846066, 0.000032; 1.000000, 1.000000, 1.000000, 1.000000, 0.978062, 0.001335; 1.000000, 1.000000, 1.000000, 1.000000, 0.998699, 0.022409; 1.000000, 1.000000, 1.000000, 1.000000, 0.999970, 0.156421; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.495223; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.837820; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.976328; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.998564; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999966; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b, M); assert (q, Q, 1e-6); ***** test M = 5; a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [ 0.00, 0.10, 2.10, 7.10, 12.10, 17.10]; Q = [1.000000, 1.000000, 0.926962, 0.000000, 0.000000, 0.000000; 1.000000, 1.000000, 0.927021, 0.000000, 0.000000, 0.000000; 1.000000, 1.000000, 0.947475, 0.000001, 0.000000, 0.000000; 1.000000, 1.000000, 0.980857, 0.000033, 0.000000, 0.000000; 1.000000, 1.000000, 0.996633, 0.000800, 0.000000, 0.000000; 1.000000, 1.000000, 0.999729, 0.011720, 0.000000, 0.000000; 1.000000, 1.000000, 0.999990, 0.088999, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.341096, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.705475, 0.000002, 0.000000; 1.000000, 1.000000, 1.000000, 0.933009, 0.000134, 0.000000; 1.000000, 1.000000, 1.000000, 0.993118, 0.003793, 0.000000; 1.000000, 1.000000, 1.000000, 0.999702, 0.045408, 0.000000; 1.000000, 1.000000, 1.000000, 0.999995, 0.238953, 0.000000; 1.000000, 1.000000, 1.000000, 1.000000, 0.607903, 0.000001; 1.000000, 1.000000, 1.000000, 1.000000, 0.896007, 0.000073; 1.000000, 1.000000, 1.000000, 1.000000, 0.987642, 0.002480; 1.000000, 1.000000, 1.000000, 1.000000, 0.999389, 0.034450; 1.000000, 1.000000, 1.000000, 1.000000, 0.999988, 0.203879; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.565165; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.876284; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.984209; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999165; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999983; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b, M); assert (q, Q, 1e-6); ***** test M = 10; a = [0.00; 0.05; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00; 12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00; 21.00; 22.00; 23.00; 24.00]; b = [ 0.00, 0.10, 2.10, 7.10, 12.10, 17.10]; Q = [1.000000, 1.000000, 0.999898, 0.000193, 0.000000, 0.000000; 1.000000, 1.000000, 0.999897, 0.000194, 0.000000, 0.000000; 1.000000, 1.000000, 0.999931, 0.000416, 0.000000, 0.000000; 1.000000, 1.000000, 0.999980, 0.002377, 0.000000, 0.000000; 1.000000, 1.000000, 0.999997, 0.016409, 0.000000, 0.000000; 1.000000, 1.000000, 0.999999, 0.088005, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.302521, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.638401, 0.000000, 0.000000; 1.000000, 1.000000, 1.000000, 0.894322, 0.000022, 0.000000; 1.000000, 1.000000, 1.000000, 0.984732, 0.000840, 0.000000; 1.000000, 1.000000, 1.000000, 0.998997, 0.014160, 0.000000; 1.000000, 1.000000, 1.000000, 0.999972, 0.107999, 0.000000; 1.000000, 1.000000, 1.000000, 1.000000, 0.391181, 0.000000; 1.000000, 1.000000, 1.000000, 1.000000, 0.754631, 0.000004; 1.000000, 1.000000, 1.000000, 1.000000, 0.951354, 0.000266; 1.000000, 1.000000, 1.000000, 1.000000, 0.995732, 0.006444; 1.000000, 1.000000, 1.000000, 1.000000, 0.999843, 0.065902; 1.000000, 1.000000, 1.000000, 1.000000, 0.999998, 0.299616; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.676336; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.925312; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.992390; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999679; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 0.999995; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000; 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000]; q = marcumq (a, b, M); assert (q, Q, 1e-6); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/kaiser.m] >>>>> /build/octave-signal-1.4.0/inst/kaiser.m ***** demo % use demo("kaiserord"); ***** assert (kaiser (1), 1) ***** error kaiser () ***** error kaiser (0.5) ***** error kaiser (-1) ***** error kaiser (ones (1, 4)) ***** error kaiser (1, 2, 3) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/invimpinvar.m] >>>>> /build/octave-signal-1.4.0/inst/invimpinvar.m ***** function err = ztoserr(bz,az,fs) # number of time steps n=100; # make sure system is realizable (no delays) bz=prepad(bz,length(az)-1,0,2); # inverse impulse invariant transform to s-domain [bs as]=invimpinvar(bz,az,fs); # create sys object of transfer function s=tf(bs,as); # calculate impulse response of continuous time system # at discrete time intervals 1/fs ys=impulse(s,(n-1)/fs,1/fs)'; # impulse response of discrete time system yz=filter(bz,az,[1 zeros(1,n-1)]); # find rms error err=sqrt(sum((yz*fs.-ys).^2)/length(ys)); endfunction ***** assert(ztoserr([1],[1 -0.5],0.01),0,0.0001); ***** assert(ztoserr([1],[1 -1 0.25],0.01),0,0.0001); ***** assert(ztoserr([1 1],[1 -1 0.25],0.01),0,0.0001); ***** assert(ztoserr([1],[1 -1.5 0.75 -0.125],0.01),0,0.0001); ***** assert(ztoserr([1 1],[1 -1.5 0.75 -0.125],0.01),0,0.0001); ***** assert(ztoserr([1 1 1],[1 -1.5 0.75 -0.125],0.01),0,0.0001); ***** assert(ztoserr([1],[1 0 0.25],0.01),0,0.0001); ***** assert(ztoserr([1 1],[1 0 0.25],0.01),0,0.0001); ***** assert(ztoserr([1],[1 0 0.5 0 0.0625],0.01),0,0.0001); ***** assert(ztoserr([1 1],[1 0 0.5 0 0.0625],0.01),0,0.0001); ***** assert(ztoserr([1 1 1],[1 0 0.5 0 0.0625],0.01),0,0.0001); ***** assert(ztoserr([1 1 1 1],[1 0 0.5 0 0.0625],0.01),0,0.0001); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/impz.m] >>>>> /build/octave-signal-1.4.0/inst/impz.m ***** assert (size (impz (1, [1 -1 0.9], 100)), [100 1]) ***** xtest [h, t] = impz (1, [1 -1 0.9], 0:101); assert (size (h), [101 1]) assert (t, 0:101) !!!!! known failure impz: N must be empty or a scalar 2 tests, 1 passed, 1 known failure, 0 skipped [inst/ifwht.m] >>>>> /build/octave-signal-1.4.0/inst/ifwht.m ***** assert (isempty (ifwht ([]))); ***** assert (ifwht (zeros (16)), zeros (16)); ***** assert (ifwht ([1; (zeros (15, 1))]), ones (16, 1)); ***** assert (ifwht (zeros (17, 1)), zeros (32, 1)); ***** assert (ifwht ([0 0 0 0 0 0 0 1]), [1 -1 1 -1 1 -1 1 -1]); ***** error ifwht (); ***** error ifwht (1, 2, 3, 4); ***** error ifwht (0, 0); ***** error ifwht (0, 5); ***** error ifwht (0, [], "invalid"); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/ifht.m] >>>>> /build/octave-signal-1.4.0/inst/ifht.m ***** assert(ifht(fht(1:4)),[1 2 3 4]) 1 test, 1 passed, 0 known failure, 0 skipped [inst/idst.m] >>>>> /build/octave-signal-1.4.0/inst/idst.m ***** test x = log(gausswin(32)); assert(x, idst(dst(x)), 100*eps) 1 test, 1 passed, 0 known failure, 0 skipped [inst/hann.m] >>>>> /build/octave-signal-1.4.0/inst/hann.m ***** assert (hann (1), 1); ***** assert (hann (2), zeros (2, 1)); ***** assert (hann (16), flipud (hann (16)), 10*eps); ***** assert (hann (15), flipud (hann (15)), 10*eps); ***** test N = 15; A = hann (N); assert (A(ceil (N/2)), 1); ***** assert (hann (15), hann (15, "symmetric")); ***** assert (hann (16)(1:15), hann (15, "periodic")); ***** test N = 16; A = hann (N, "periodic"); assert (A (N/2 + 1), 1); ***** error hann () ***** error hann (0.5) ***** error hann (-1) ***** error hann (1, "invalid") 12 tests, 12 passed, 0 known failure, 0 skipped [inst/grpdelay.m] >>>>> /build/octave-signal-1.4.0/inst/grpdelay.m ***** demo % 1 %-------------------------------------------------------------- % From Oppenheim and Schafer, a single zero of radius r=0.9 at % angle pi should have a group delay of about -9 at 1 and 1/2 % at zero and 2*pi. %-------------------------------------------------------------- grpdelay([1 0.9],[],512,'whole',1); hold on; xlabel('Normalized Frequency (cycles/sample)'); stem([0, 0.5, 1],[0.5, -9, 0.5],'*b;target;'); hold off; title ('Zero at z = -0.9'); ***** demo % 2 %-------------------------------------------------------------- % confirm the group delays approximately meet the targets % don't worry that it is not exact, as I have not entered % the exact targets. %-------------------------------------------------------------- b = poly([1/0.9*exp(1i*pi*0.2), 0.9*exp(1i*pi*0.6)]); a = poly([0.9*exp(-1i*pi*0.6), 1/0.9*exp(-1i*pi*0.2)]); grpdelay(b,a,512,'whole',1); hold on; xlabel('Normalized Frequency (cycles/sample)'); stem([0.1, 0.3, 0.7, 0.9], [9, -9, 9, -9],'*b;target;'); hold off; title ('Two Zeros and Two Poles'); ***** demo % 3 %-------------------------------------------------------------- % fir lowpass order 40 with cutoff at w=0.3 and details of % the transition band [.3, .5] %-------------------------------------------------------------- subplot(211); Fs = 8000; % sampling rate Fc = 0.3*Fs/2; % lowpass cut-off frequency nb = 40; b = fir1(nb,2*Fc/Fs); % matlab freq normalization: 1=Fs/2 [H,f] = freqz(b,1,[],1); [gd,f] = grpdelay(b,1,[],1); plot(f,20*log10(abs(H))); title(sprintf('b = fir1(%d,2*%d/%d);',nb,Fc,Fs)); xlabel('Normalized Frequency (cycles/sample)'); ylabel('Amplitude Response (dB)'); grid('on'); subplot(212); del = nb/2; % should equal this plot(f,gd); title(sprintf('Group Delay in Pass-Band (Expect %d samples)',del)); ylabel('Group Delay (samples)'); axis([0, 0.2, del-1, del+1]); ***** demo % 4 %-------------------------------------------------------------- % IIR bandstop filter has delays at [1000, 3000] %-------------------------------------------------------------- Fs = 8000; [b, a] = cheby1(3, 3, 2*[1000, 3000]/Fs, 'stop'); [H,f] = freqz(b,a,[],Fs); [gd,f] = grpdelay(b,a,[],Fs); subplot(211); plot(f,abs(H)); title('[b,a] = cheby1(3, 3, 2*[1000, 3000]/Fs, "stop");'); xlabel('Frequency (Hz)'); ylabel('Amplitude Response'); grid('on'); subplot(212); plot(f,gd); title('[gd,f] = grpdelay(b,a,[],Fs);'); ylabel('Group Delay (samples)'); ***** test % 00 [gd1,w] = grpdelay([0,1]); [gd2,w] = grpdelay([0,1],1); assert(gd1,gd2,10*eps); ***** test % 0A [gd,w] = grpdelay([0,1],1,4); assert(gd,[1;1;1;1]); assert(w,pi/4*[0:3]',10*eps); ***** test % 0B [gd,w] = grpdelay([0,1],1,4,'whole'); assert(gd,[1;1;1;1]); assert(w,pi/2*[0:3]',10*eps); ***** test % 0C [gd,f] = grpdelay([0,1],1,4,0.5); assert(gd,[1;1;1;1]); assert(f,1/16*[0:3]',10*eps); ***** test % 0D [gd,w] = grpdelay([0,1],1,4,'whole',1); assert(gd,[1;1;1;1]); assert(w,1/4*[0:3]',10*eps); ***** test % 0E [gd,f] = grpdelay([1 -0.9j],[],4,'whole',1); gd0 = 0.447513812154696; gdm1 =0.473684210526316; assert(gd,[gd0;-9;gd0;gdm1],20*eps); assert(f,1/4*[0:3]',10*eps); ***** test % 1A: gd= grpdelay(1,[1,.9],2*pi*[0,0.125,0.25,0.375]); assert(gd, [-0.47368;-0.46918;-0.44751;-0.32316],1e-5); ***** test % 1B: gd= grpdelay(1,[1,.9],[0,0.125,0.25,0.375],1); assert(gd, [-0.47368;-0.46918;-0.44751;-0.32316],1e-5); ***** test % 2: gd = grpdelay([1,2],[1,0.5,.9],4); assert(gd,[-0.29167;-0.24218;0.53077;0.40658],1e-5); ***** test % 3 b1=[1,2];a1f=[0.25,0.5,1];a1=fliplr(a1f); % gd1=grpdelay(b1,a1,4); gd=grpdelay(conv(b1,a1f),1,4)-2; assert(gd, [0.095238;0.239175;0.953846;1.759360],1e-5); ***** test % 4 warning ("off", "signal:grpdelay-singularity", "local"); Fs = 8000; [b, a] = cheby1(3, 3, 2*[1000, 3000]/Fs, 'stop'); [h, w] = grpdelay(b, a, 256, 'half', Fs); [h2, w2] = grpdelay(b, a, 512, 'whole', Fs); assert (size(h), size(w)); assert (length(h), 256); assert (size(h2), size(w2)); assert (length(h2), 512); assert (h, h2(1:256)); assert (w, w2(1:256)); ***** test % 5 a = [1 0 0.9]; b = [0.9 0 1]; [dh, wf] = grpdelay(b, a, 512, 'whole'); [da, wa] = grpdelay(1, a, 512, 'whole'); [db, wb] = grpdelay(b, 1, 512, 'whole'); assert(dh,db+da,1e-5); ***** test DR= [1.00000 -0.00000 -3.37219 0.00000 ... 5.45710 -0.00000 -5.24394 0.00000 ... 3.12049 -0.00000 -1.08770 0.00000 0.17404]; N = [-0.0139469 -0.0222376 0.0178631 0.0451737 ... 0.0013962 -0.0259712 0.0016338 0.0165189 ... 0.0115098 0.0095051 0.0043874]; assert (nthargout (1:2, @grpdelay, N, DR, 1024), nthargout (1:2, @grpdelay, N', DR', 1024)); 13 tests, 13 passed, 0 known failure, 0 skipped [inst/gausswin.m] >>>>> /build/octave-signal-1.4.0/inst/gausswin.m ***** assert (gausswin (1), 1) ***** assert (gausswin (2), [exp(-3.125); exp(-3.125)]) ***** assert (gausswin (3), [exp(-3.125); 1; exp(-3.125)]) ***** error gausswin () ***** error gausswin (0.5) ***** error gausswin (-1) ***** error gausswin (ones (1, 4)) ***** error gausswin (1, 2, 3) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/gaussian.m] >>>>> /build/octave-signal-1.4.0/inst/gaussian.m ***** assert (gaussian (1), 1) ***** error gaussian () ***** error gaussian (0.5) ***** error gaussian (-1) ***** error gaussian (ones (1, 4)) ***** error gaussian (1, 2, 3) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/gauspuls.m] >>>>> /build/octave-signal-1.4.0/inst/gauspuls.m ***** demo fs = 11025; # arbitrary sample rate f0 = 100; # pulse train sample rate x = pulstran (0:1/fs:4/f0, 0:1/f0:4/f0, "gauspuls"); plot ([0:length(x)-1]*1000/fs, x); xlabel ("Time (ms)"); ylabel ("Amplitude"); title ("Gaussian pulse train at 10 ms intervals"); ***** assert (gauspuls ([]), []) ***** assert (gauspuls (zeros (10, 1)), ones (10, 1)) ***** assert (gauspuls (-1:1), [0, 1, 0]) ***** assert (gauspuls (0:1/100:0.3, 0.1), gauspuls ([0:1/100:0.3]', 0.1)') ***** error gauspuls () ***** error gauspuls (1, 2, 3, 4) ***** error gauspuls (1, -1) ***** error gauspuls (1, 2j) ***** error gauspuls (1, 1e3, 0) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/fwht.m] >>>>> /build/octave-signal-1.4.0/inst/fwht.m ***** assert (isempty (fwht ([]))); ***** assert (fwht (zeros (16)), zeros (16)); ***** assert (fwht (ones (16, 1)), [1; (zeros (15, 1))]); ***** assert (fwht (zeros (17, 1)), zeros (32, 1)); ***** assert (fwht ([1 -1 1 -1 1 -1 1 -1]), [0 0 0 0 0 0 0 1]); ***** test x = randi (16, 16); assert (ifwht (fwht (x)), x); ***** test x = randi (16, 16); assert (ifwht (fwht (x, [], "sequency"), [], "sequency"), x); ***** test x = randi (16, 16); assert (ifwht (fwht (x, [], "hadamard"), [], "hadamard"), x); ***** test x = randi (16, 16); assert (ifwht (fwht (x, [], "dyadic"), [], "dyadic"), x); ***** error fwht (); ***** error fwht (1, 2, 3, 4); ***** error fwht (0, 0); ***** error fwht (0, 5); ***** error fwht (0, [], "invalid"); 14 tests, 14 passed, 0 known failure, 0 skipped [inst/fwhm.m] >>>>> /build/octave-signal-1.4.0/inst/fwhm.m ***** test x=-pi:0.001:pi; y=cos(x); assert( abs(fwhm(x, y) - 2*pi/3) < 0.01 ); ***** test assert( fwhm(-10:10) == 0 && fwhm(ones(1,50)) == 0 ); ***** test x=-20:1:20; y1=-4+zeros(size(x)); y1(4:10)=8; y2=-2+zeros(size(x)); y2(4:11)=2; y3= 2+zeros(size(x)); y3(5:13)=10; assert( max(abs(fwhm(x, [y1;y2;y3]') - [20.0/3,7.5,9.25])) < 0.01 ); ***** test x=1:3; y=[-1,3,-1]; assert(abs(fwhm(x,y)-0.75)<0.001 && abs(fwhm(x,y,'zero')-0.75)<0.001 && abs(fwhm(x,y,'min')-1.0)<0.001); ***** test x=1:3; y=[-1,3,-1]; assert(abs(fwhm(x,y, 'rlevel', 0.1)-1.35)<0.001 && abs(fwhm(x,y,'zero', 'rlevel', 0.1)-1.35)<0.001 && abs(fwhm(x,y,'min', 'rlevel', 0.1)-1.40)<0.001); ***** test x=1:3; y=[-1,3,-1]; assert(abs(fwhm(x,y, 'alevel', 2.5)-0.25)<0.001 && abs(fwhm(x,y,'alevel', -0.5)-1.75)<0.001); ***** test x=-10:10; assert( fwhm(x.*x) == 0 ); ***** test x=-5:5; y=18-x.*x; assert( abs(fwhm(y)-6.0) < 0.001 && abs(fwhm(x,y,'zero')-6.0) < 0.001 && abs(fwhm(x,y,'min')-7.0 ) < 0.001); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/fracshift.m] >>>>> /build/octave-signal-1.4.0/inst/fracshift.m ***** test d = [1.5 7/6]; N = 1024; t = ((0:N-1)-N/2).'; tt = bsxfun (@minus, t, d); err1= err2 = zeros(N/2,1); for n = 0:N/2-1, phi0 = 2*pi*rand; f0 = n/N; sigma = N/4; x = exp(-t.^2/(2*sigma)).*sin(2*pi*f0*t + phi0); xx = exp(-tt.^2/(2*sigma)).*sin(2*pi*f0*tt + phi0); [y,h] = fracshift(x, d(1)); err1(n+1) = max (abs (y - xx(:,1))); [y,h] = fracshift(x, d(2)); err2(n+1) = max (abs (y - xx(:,2))); endfor rolloff = .1; rejection = 10^-3; idx_inband = 1:ceil((1-rolloff)*N/2)-1; assert (max (err1(idx_inband)) < rejection); assert (max (err2(idx_inband)) < rejection); ***** test N = 1024; p = 6; q = 7; d1 = 64; d2 = d1*p/q; t = 128; [b a] = butter (10,.25); n = zeros (N, 1); n(N/2+(-t:t)) = randn(2*t+1,1); n = filter(b,a,n); n1 = fracshift(n,d1); n1 = resample(n1,p,q); n2 = resample(n,p,q); n2 = fracshift(n2,d2); err = abs (n2 - n1); rejection = 10^-3; assert(max (err) < rejection); ***** test #integer shift similar similar to non-integer N = 1024; t = linspace(0, 1, N).'; x = exp(-t.^2/2/0.25^2).*sin(2*pi*10*t); d = 10; y = fracshift(x, d); yh = fracshift(x, d+1e-8); assert(y, yh, 1e-8) ***** warning fracshift([1 2 3 2 1], 3, h=0.5); #integer shift and filter provided ***** test #bug 52758 x = [0 1 0 0 0 0 0 0]; y = fracshift(x, 1); assert (size(x) == size(y)) ***** test #bug 47387 N = 1024; t = linspace(0, 1, N).'; x = exp(-t.^2/2/0.25^2).*sin(2*pi*10*t); dt = 0.25; d = dt / (t(2) - t(1)); y = fracshift(x, d); L = 37; _t = (-L:L).'; ideal_filter = sinc (_t - (d - fix (d))); m = 2 * L; _t = (0:m).' - (d - fix (d)); beta = 5.6533; _t = 2 * beta / m * sqrt (_t .* (m - _t)); w = besseli (0, _t) / besseli (0, beta); h = w .* ideal_filter; yh = fracshift(x, d, h); assert(y, yh, 1e-8) ***** demo N = 1024; t = linspace (0, 1, N).'; x = exp(-t.^2/2/0.25^2).*sin(2*pi*10*t); dt = 0.25; d = dt / (t(2) - t(1)); y = fracshift(x, d); plot(t,y,'r-;shifted;', t, x, 'k-;original;') axis tight xlabel ('time') ylabel ('signal') 6 tests, 6 passed, 0 known failure, 0 skipped [inst/flattopwin.m] >>>>> /build/octave-signal-1.4.0/inst/flattopwin.m ***** assert (flattopwin (1), 1); ***** assert (flattopwin (2), 0.0042 / 4.6402 * ones (2, 1), eps); ***** assert (flattopwin (15), flipud (flattopwin (15)), 10*eps); ***** assert (flattopwin (16), flipud (flattopwin (16)), 10*eps); ***** assert (flattopwin (15), flattopwin (15, "symmetric")); ***** assert (flattopwin (16)(1:15), flattopwin (15, "periodic")); ***** error flattopwin () ***** error flattopwin (0.5) ***** error flattopwin (-1) ***** error flattopwin (ones (1, 4)) ***** error flattopwin (1, 2) ***** error flattopwin (1, 2, 3) ***** error flattopwin (1, "invalid") 13 tests, 13 passed, 0 known failure, 0 skipped [inst/fir2.m] >>>>> /build/octave-signal-1.4.0/inst/fir2.m ***** xtest f = [0 0.6 0.6 1]; m = [1 1 0 0]; b9 = fir2 (30, f, m, 9); b16 = fir2 (30, f, m, 16); b17 = fir2 (30, f, m, 17); b32 = fir2 (30, f, m, 32); assert ( isequal (b9, b16)) assert ( isequal (b17, b32)) assert (~isequal (b16, b17)) ***** test f = [0, 0.7, 0.7, 1]; m = [0, 0, 1, 1]; b = fir2 (50, f, m); h = abs (freqz (b, 1, [0, 0.7, 1], 2)); assert (h(1) <= 3e-3) assert (h(2) <= 1/sqrt (2)) assert (h(3), 1, 2e-3) ***** test f = [0, 0.25, 0.25, 0.75, 0.75, 1]; m = [0, 0, 1, 1, 0, 0]; b = fir2 (50, f, m); h = abs (freqz (b, 1, [0, 0.25, 0.5, 0.75, 1], 2)); assert (h(1) <= 3e-3) assert (h(2) <= 1/sqrt (2)) assert (h(3), 1, 2e-3) assert (h(4) <= 1/sqrt (2)) assert (h(5) <= 3e-3) ***** test f = [0, 0.45, 0.45, 0.55, 0.55, 1]; m = [1, 1, 0, 0, 1, 1]; b = fir2 (50, f, m); h = abs (freqz (b, 1, [0, 0.45, 0.5, 0.55, 1], 2)); assert (h(1), 1, 2e-3) assert (h(2) <= 1/sqrt (2)) assert (h(3) <= 1e-1) assert (h(4) <= 1/sqrt (2)) assert (h(5), 1, 2e-3) ***** demo f=[0, 0.3, 0.3, 0.6, 0.6, 1]; m=[0, 0, 1, 1/2, 0, 0]; [h, w] = freqz(fir2(100,f,m)); subplot(121); plot(f,m,';target response;',w/pi,abs(h),';filter response;'); subplot(122); plot(f,20*log10(m+1e-5),';target response (dB);',... w/pi,20*log10(abs(h)),';filter response (dB);'); ***** demo f=[0, 0.3, 0.3, 0.6, 0.6, 1]; m=[0, 0, 1, 1/2, 0, 0]; plot(f,20*log10(m+1e-5),';target response;'); hold on; [h, w] = freqz(fir2(50,f,m,512,0)); plot(w/pi,20*log10(abs(h)),';filter response (ramp=0);'); [h, w] = freqz(fir2(50,f,m,512,25.6)); plot(w/pi,20*log10(abs(h)),';filter response (ramp=pi/20 rad);'); [h, w] = freqz(fir2(50,f,m,512,51.2)); plot(w/pi,20*log10(abs(h)),';filter response (ramp=pi/10 rad);'); hold off; ***** demo % Classical Jakes spectrum % X represents the normalized frequency from 0 % to the maximum Doppler frequency asymptote = 2/3; X = linspace(0,asymptote-0.0001,200); Y = (1 - (X./asymptote).^2).^(-1/4); % The target frequency response is 0 after the asymptote X = [X, asymptote, 1]; Y = [Y, 0, 0]; plot(X,Y,'b;Target spectrum;'); hold on; [H,F]=freqz(fir2(20, X, Y)); plot(F/pi,abs(H),'c;Synthesized spectrum (n=20);'); [H,F]=freqz(fir2(50, X, Y)); plot(F/pi,abs(H),'r;Synthesized spectrum (n=50);'); [H,F]=freqz(fir2(200, X, Y)); plot(F/pi,abs(H),'g;Synthesized spectrum (n=200);'); hold off; title('Theoretical/Synthesized CLASS spectrum'); xlabel('Normalized frequency (Fs=2)'); ylabel('Magnitude'); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/fir1.m] >>>>> /build/octave-signal-1.4.0/inst/fir1.m ***** demo freqz(fir1(40,0.3)); ***** demo freqz(fir1(15,[0.2, 0.5], 'stop')); # note the zero-crossing at 0.1 ***** demo freqz(fir1(15,[0.2, 0.5], 'stop', 'noscale')); ***** assert(fir1(2, .5, 'low', @hanning, 'scale'), [0 1 0]); ***** assert(fir1(2, .5, 'low', "hanning", 'scale'), [0 1 0]); ***** assert(fir1(2, .5, 'low', hanning(3), 'scale'), [0 1 0]); ***** assert(fir1(10,.5,'noscale'), fir1(10,.5,'low','hamming','noscale')); ***** assert(fir1(10,.5,'high'), fir1(10,.5,'high','hamming','scale')); ***** assert(fir1(10,.5,'boxcar'), fir1(10,.5,'low','boxcar','scale')); ***** assert(fir1(10,.5,'hanning','scale'), fir1(10,.5,'scale','hanning','low')); ***** assert(fir1(10,.5,'haNNing','NOscale'), fir1(10,.5,'noscale','Hanning','LOW')); ***** assert(fir1(10,.5,'boxcar',[]), fir1(10,.5,'boxcar')); ***** test b = fir1 (30, 0.3); h = abs (freqz (b, 1, [0, 0.3, 1], 2)); assert (h(1), 1, 1e-3) assert (all (h(2:3) <= [1/sqrt(2), 3e-3])) ***** test b = fir1 (30, 0.7, "high"); h = abs (freqz (b, 1, [0, 0.7, 1], 2)); assert (h(3), 1, 1e-3) assert (all (h(1:2) <= [3e-3, 1/sqrt(2)])) ***** test b = fir1 (30, [0.3, 0.7]); h = abs (freqz (b, 1, [0, 0.3, 0.5, 0.7, 1], 2)); assert (h(3), 1, 1e-3) assert (all (h([1:2, 4:5]) <= [3e-3, 1/sqrt(2), 1/sqrt(2), 3e-3])) ***** test b = fir1 (50, [0.3, 0.7], "stop"); h = abs (freqz (b, 1, [0, 0.3, 0.5, 0.7, 1], 2)); assert (h(1), 1, 1e-3) assert (h(5), 1, 1e-3) assert (all (h(2:4) <= [1/sqrt(2), 3e-3, 1/sqrt(2)])) 13 tests, 13 passed, 0 known failure, 0 skipped [inst/findpeaks.m] >>>>> /build/octave-signal-1.4.0/inst/findpeaks.m ***** demo t = 2*pi*linspace(0,1,1024)'; y = sin(3.14*t) + 0.5*cos(6.09*t) + 0.1*sin(10.11*t+1/6) + 0.1*sin(15.3*t+1/3); data1 = abs(y); # Positive values [pks idx] = findpeaks(data1); data2 = y; # Double-sided [pks2 idx2] = findpeaks(data2,"DoubleSided"); [pks3 idx3] = findpeaks(data2,"DoubleSided","MinPeakHeight",0.5); subplot(1,2,1) plot(t,data1,t(idx),data1(idx),'xm') axis tight subplot(1,2,2) plot(t,data2,t(idx2),data2(idx2),"xm;>2*std;",t(idx3),data2(idx3),"or;>0.1;") axis tight legend("Location","NorthOutside","Orientation","horizontal") #---------------------------------------------------------------------------- # Finding the peaks of smooth data is not a big deal! ***** demo t = 2*pi*linspace(0,1,1024)'; y = sin(3.14*t) + 0.5*cos(6.09*t) + 0.1*sin(10.11*t+1/6) + 0.1*sin(15.3*t+1/3); data = abs(y + 0.1*randn(length(y),1)); # Positive values + noise [pks idx] = findpeaks(data,"MinPeakHeight",1); dt = t(2)-t(1); [pks2 idx2] = findpeaks(data,"MinPeakHeight",1,... "MinPeakDistance",round(0.5/dt)); subplot(1,2,1) plot(t,data,t(idx),data(idx),'or') subplot(1,2,2) plot(t,data,t(idx2),data(idx2),'or') #---------------------------------------------------------------------------- # Noisy data may need tuning of the parameters. In the 2nd example, # MinPeakDistance is used as a smoother of the peaks. ***** assert (isempty (findpeaks ([1, 1, 1]))) ***** assert (isempty (findpeaks ([1; 1; 1]))) ***** test ## Test input vector is an oversampled sinusoid with clipped peaks x = min (3, cos (2*pi*[0:8000] ./ 600) + 2.01); assert (! isempty (findpeaks (x))) ***** error findpeaks () ***** error findpeaks (1) ***** error findpeaks ([1, 2]) ***** test assert (findpeaks ([34 134 353 64 134 14 56 67 234 143 64 575 8657]), [353 134 234]) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/filtic.m] >>>>> /build/octave-signal-1.4.0/inst/filtic.m ***** test ## Simple low pass filter b=[0.25 0.25]; a=[1.0 -0.5]; zf_ref=0.75; zf=filtic(b,a,[1.0],[1.0]); assert(zf,zf_ref,8*eps); ***** test ## Simple high pass filter b=[0.25 -0.25]; a=[1.0 0.5]; zf_ref = [-0.25]; zf=filtic(b,a,[0.0],[1.0]); assert(zf,zf_ref,8*eps); ***** test ## Second order cases [b,a]=butter(2,0.4); N=1000; ## Long enough for filter to settle xx=ones(1,N); [yy,zf_ref] = filter(b,a,xx); x=xx(N:-1:N-1); y=yy(N:-1:N-1); zf = filtic(b,a,y,x); assert(zf,zf_ref,8*eps); xx = cos(2*pi*linspace(0,N-1,N)/8); [yy,zf_ref] = filter(b,a,xx); x=xx(N:-1:N-1); y=yy(N:-1:N-1); zf = filtic(b,a,y,x); assert(zf,zf_ref,8*eps); ***** test ## Third order filter - takes longer to settle N=10000; [b,a]=cheby1(3,10,0.5); xx=ones(1,N); [yy,zf_ref] = filter(b,a,xx); x=xx(N:-1:N-2); y=yy(N:-1:N-2); zf = filtic(b,a,y,x); assert(zf,zf_ref,8*eps); ***** test ## Eight order high pass filter N=10000; [b,a]=butter(8,0.2); xx = cos(2*pi*linspace(0,N-1,N)/8); [yy,zf_ref] = filter(b,a,xx); x=xx(N:-1:N-7); y=yy(N:-1:N-7); zf = filtic(b,a,y,x); assert(zf,zf_ref,8*eps); ***** test ## Case with 3 args [b,a]=butter(2,0.4); N=100; xx=[ones(1,N) zeros(1,2)]; [yy,zf_ref] = filter(b,a,xx); y=[yy(N+2) yy(N+1)]; zf=filtic(b,a,y); assert(zf,zf_ref,8*eps); 6 tests, 6 passed, 0 known failure, 0 skipped [inst/filtfilt.m] >>>>> /build/octave-signal-1.4.0/inst/filtfilt.m ***** error filtfilt (); ***** error filtfilt (1, 2, 3, 4); ***** test randn('state',0); r = randn(1,200); [b,a] = butter(10, [.2, .25]); yfb = filtfilt(b, a, r); assert (size(r), size(yfb)); assert (mean(abs(yfb)) < 1e3); assert (mean(abs(yfb)) < mean(abs(r))); ybf = fliplr(filtfilt(b, a, fliplr(r))); assert (mean(abs(ybf)) < 1e3); assert (mean(abs(ybf)) < mean(abs(r))); ***** test randn('state',0); r = randn(1,1000); s = 10 * sin(pi * 4e-2 * (1:length(r))); [b,a] = cheby1(2, .5, [4e-4 8e-2]); y = filtfilt(b, a, r+s); assert (size(r), size(y)); assert (mean(abs(y)) < 1e3); assert (corr(s(250:750), y(250:750)) > .95) [b,a] = butter(2, [4e-4 8e-2]); yb = filtfilt(b, a, r+s); assert (mean(abs(yb)) < 1e3); assert (corr(y, yb) > .99) ***** test randn('state',0); r = randn(1,1000); s = 10 * sin(pi * 4e-2 * (1:length(r))); [b,a] = butter(2, [4e-4 8e-2]); y = filtfilt(b, a, [r.' s.']); yr = filtfilt(b, a, r); ys = filtfilt(b, a, s); assert (y, [yr.' ys.']); y2 = filtfilt(b.', a.', [r.' s.']); assert (y, y2); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/fht.m] >>>>> /build/octave-signal-1.4.0/inst/fht.m ***** assert( fht([1 2 3 4]),[10 -4 -2 0] ) 1 test, 1 passed, 0 known failure, 0 skipped [inst/ellipord.m] >>>>> /build/octave-signal-1.4.0/inst/ellipord.m ***** demo fs = 44100; Npts = fs; fpass = 4000; fstop = 13713; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 0:fs/2; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on plot (outline_lp_pass_x, outline_lp_pass_y, "m", outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("2nd order digital elliptical low-pass (without margin)"); ***** demo fs = 44100; Npts = fs; fpass = 4000; fstop = 13712; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 0:fs/2; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on plot (outline_lp_pass_x, outline_lp_pass_y, "m", outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("3rd order digital elliptical low-pass (just exceeds 2nd order i.e. large margin)"); ***** demo fs = 44100; Npts = fs; fstop = 4000; fpass = 13713; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "high"); f = 0:fs/2; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_hp_pass_x, outline_hp_pass_y, "m", outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("2nd order digital elliptical high-pass (without margin)"); ***** demo fs = 44100; Npts = fs; fstop = 4000; fpass = 13712; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "high"); f = 0:fs/2; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_hp_pass_x, outline_hp_pass_y, "m", outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("3rd order digital elliptical high-pass (just exceeds 2nd order i.e. large margin)"); ***** demo fs = 44100; Npts = fs; fpass = [9500 9750]; fstop = [8500 10261]; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order digital elliptical band-pass (without margin) limitation on upper freq"); ***** demo fs = 44100; Npts = fs; fpass = [9500 9750]; fstop = [9000 10700]; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order digital elliptical band-pass (without margin) limitation on lower freq"); ***** demo fs = 44100; Npts = fs; fpass = [9500 9750]; fstop = [8500 10260]; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order digital elliptical band-pass (just exceeds 4th order i.e. large margin) limitation on upper freq"); ***** demo fs = 44100; Npts = fs; fpass = [9500 9750]; fstop = [9001 10700]; Rpass = 3; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order digital elliptical band-pass (just exceeds 4th order i.e. large margin) limitation on lower freq"); ***** demo fs = 44100; Npts = fs; fstop = [9875 10126.5823]; fpass = [8500 11073]; Rpass = 0.5; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "stop"); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order digital elliptical notch (without margin) limit on upper freq"); ***** demo fs = 44100; Npts = fs; fstop = [9875 10126.5823]; fpass = [8952 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "stop"); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order digital elliptical notch (without margin) limit on lower freq"); ***** demo fs = 44100; Npts = fs; fstop = [9875 10126.5823]; fpass = [8500 11072]; Rpass = 0.5; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "stop"); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order digital elliptical notch (just exceeds 4th order) limit on upper freq"); ***** demo fs = 44100; Npts = fs; fstop = [9875 10126.5823]; fpass = [8953 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2/fs * fpass; Wstop = 2/fs * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop) [b, a] = ellip (n, Rpass, Rstop, Wn, "stop"); f = 5000:15000; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order digital elliptical notch (just exceeds 4th order) limit on lower freq"); ***** demo fpass = 4000; fstop = 20224; Rpass = 3; Rstop = 40; Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 1000:10:100000; W = 2*pi * f; H = freqs (b, a, W); semilogx(f, 20 * log10 (abs (H))) outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on plot (outline_lp_pass_x, outline_lp_pass_y, "m", outline_lp_stop_x, outline_lp_stop_y, "m") ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("2nd order analog elliptical low-pass (without margin)"); ***** demo fpass = 4000; fstop = 20223; Rpass = 3; Rstop = 40; Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 1000:10:100000; W = 2*pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))) outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on plot (outline_lp_pass_x, outline_lp_pass_y, "m", outline_lp_stop_x, outline_lp_stop_y, "m") ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("3rd order analog elliptical low-pass (just exceeds 2nd order i.e. large margin)"); ***** demo fstop = 4000; fpass = 20224; Rpass = 3; Rstop = 40; Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "high", "s"); f = 1000:10:100000; W = 2*pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))) outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_hp_pass_x, outline_hp_pass_y, "m", outline_hp_stop_x, outline_hp_stop_y, "m") ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("2nd order analog elliptical high-pass (without margin)"); ***** demo fstop = 4000; fpass = 20223; Rpass = 3; Rstop = 40; Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "high", "s"); f = 1000:10:100000; W = 2*pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))) outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_hp_pass_x, outline_hp_pass_y, "m", outline_hp_stop_x, outline_hp_stop_y, "m") ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("3rd order analog elliptical high-pass (just exceeds 2nd order i.e. large margin)"); ***** demo fpass = [9875 10126.5823]; fstop = [9000 10657]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order analog elliptical band-pass (without margin) limitation on upper freq"); ***** demo fpass = [9875 10126.5823]; fstop = [9384 12000]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order analog elliptical band-pass (without margin) limitation on lower freq"); ***** demo fpass = [9875 10126.5823]; fstop = [9000 10656]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order analog elliptical band-pass (just exceeds 4th order i.e. large margin) limitation on upper freq"); ***** demo fpass = [9875 10126.5823]; fstop = [9385 12000]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m", outline_bp_stop_x, outline_bp_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order analog elliptical band-pass (just exceeds 4th order i.e. large margin) limitation on lower freq"); ***** demo fstop = [9875 10126.5823]; fpass = [9000 10657]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "stop", "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order analog elliptical notch (without margin) limit on upper freq"); ***** demo fstop = [9875 10126.5823]; fpass = [9384 12000]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "stop", "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("4th order analog elliptical notch (without margin) limit on lower freq"); ***** demo fstop = [9875 10126.5823]; fpass = [9000 10656]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "stop", "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order analog elliptical notch (just exceeds 4th order) limit on upper freq"); ***** demo fstop = [9875 10126.5823]; fpass = [9385 12000]; Rpass = 3; Rstop = 40; fcenter = sqrt (fpass(1) * fpass(2)); Wpass = 2*pi * fpass; Wstop = 2*pi * fstop; [n, Wn] = ellipord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = ellip (n, Rpass, Rstop, Wn, "stop", "s"); f = 5000:15000; W = 2*pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))) outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0 , 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m", outline_notch_pass_x_b, outline_notch_pass_y_b, "m", outline_notch_stop_x, outline_notch_stop_y, "m") xlim ([f(1), f(end)]); ylim ([-80, 0]); grid on xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); title ("6th order analog elliptical notch (just exceeds 4th order) limit on lower freq"); ***** test # Analog band-pass [n, Wn] = ellipord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10657], 3, 40, "s"); assert (n, 2); assert (round (Wn), [62046, 63627]); ***** test # Analog band-pass [n, Wn] = ellipord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9384, 12000], 3, 40, "s"); assert (n, 2); assert (round (Wn), [62046, 63627]); ***** test # Analog band-pass [n, Wn] = ellipord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10656], 3, 40, "s"); assert (n, 3); assert (round (Wn), [62046, 63627]); ***** test # Analog band-pass [n, Wn] = ellipord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9385, 12000], 3, 40, "s"); assert (n, 3); assert (round (Wn), [62046, 63627]); ***** test # Analog high-pass [n, Wn] = ellipord (2 * pi * 20224, 2 * pi * 4000, 3, 40, "s"); assert (n, 2); assert (round (Wn), 127071); ***** test # Analog high-pass [n, Wn] = ellipord (2 * pi * 20223, 2 * pi * 4000, 3, 40, "s"); assert (n, 3); assert (round (Wn), 127065); ***** test # Analog low-pass [n, Wn] = ellipord (2 * pi * 4000, 2 * pi * 20224, 3, 40, "s"); assert (n, 2); assert (round (Wn), 25133); ***** test # Analog low-pass [n, Wn] = ellipord (2 * pi * 4000, 2 * pi * 20223, 3, 40, "s"); assert (n, 3); assert (round (Wn), 25133); ***** test # Analog notch (narrow band-stop) [n, Wn] = ellipord (2 * pi * [9000, 10657], ... 2 * pi * [9875, 10126.5823], 3, 40, "s"); assert (n, 2); assert (round (Wn), [58958, 66960]); ***** test # Analog notch (narrow band-stop) [n, Wn] = ellipord (2 * pi * [9384, 12000], ... 2 * pi * [9875, 10126.5823], 3, 40, "s"); assert (n, 2); assert (round (Wn), [58961 , 66956]); ***** test # Analog notch (narrow band-stop) [n, Wn] = ellipord (2 * pi * [9000, 10656], ... 2 * pi * [9875, 10126.5823], 3, 40, "s"); assert (n, 3); assert (round (Wn), [58964, 66954]); ***** test # Analog notch (narrow band-stop) [n, Wn] = ellipord (2 * pi * [9385, 12000], ... 2 * pi * [9875, 10126.5823], 3, 40, "s"); assert (n, 3); assert (round (Wn), [58968, 66949]); ***** test # Digital band-pass fs = 44100; [n, Wn] = ellipord (2 / fs * [9500, 9750], 2 / fs * [8500, 10261], 3, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), [9500, 9750]); ***** test # Digital band-pass fs = 44100; [n, Wn] = ellipord (2 / fs * [9500, 9750], 2 / fs * [9000, 10700], 3, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), [9500, 9750]); ***** test # Digital band-pass fs = 44100; [n, Wn] = ellipord (2 / fs * [9500, 9750], 2 / fs * [8500, 10260], 3, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), [9500, 9750]); ***** test # Digital band-pass fs = 44100; [n, Wn] = ellipord (2 / fs * [9500, 9750], 2 / fs * [9001, 10700], 3, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), [9500, 9750]); ***** test # Digital high-pass fs = 44100; [n, Wn] = ellipord (2 / fs * 13713, 2 / fs * 4000, 3, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), 13713); ***** test # Digital high-pass fs = 44100; [n, Wn] = ellipord (2 / fs * 13712, 2 / fs * 4000, 3, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), 13712); ***** test # Digital low-pass fs = 44100; [n, Wn] = ellipord (2 / fs * 4000, 2 / fs * 13713, 3, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), 4000); ***** test # Digital low-pass fs = 44100; [n, Wn] = ellipord (2 / fs * 4000, 2 / fs * 13712, 3, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), 4000); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn] = ellipord (2 / fs * [8500, 11073], 2 / fs * [9875, 10126.5823], 0.5, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), [8952, 11073]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn] = ellipord (2 / fs * [8952, 12000], 2 / fs * [9875, 10126.5823], 0.5, 40); Wn = Wn * fs / 2; assert (n, 2); assert (round (Wn), [8952, 11073]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn] = ellipord (2 / fs * [8500, 11072], 2 / fs * [9875, 10126.5823], 0.5, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), [8953, 11072]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn] = ellipord (2 / fs * [8953, 12000], 2 / fs * [9875, 10126.5823], 0.5, 40); Wn = Wn * fs / 2; assert (n, 3); assert (round (Wn), [8953, 11072]); ***** error ellipord () ***** error ellipord (.1) ***** error ellipord (.1, .2) ***** error ellipord (.1, .2, 3) ***** error ellipord ([.1 .1], [.2 .2], 3, 4) ***** error ellipord ([.1 .2], [.5 .6], 3, 4) ***** error ellipord ([.1 .5], [.2 .6], 3, 4) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/ellip.m] >>>>> /build/octave-signal-1.4.0/inst/ellip.m ***** demo [n, Ws] = ellipord ([.1 .2], [.01 .4], 1, 90); [b, a] = ellip (5, 1, 90, [.1 .2]); [h, w] = freqz (b, a); plot (w./pi, 20*log10 (abs (h)), ";;") xlabel ("Frequency"); ylabel ("abs(H[w])[dB]"); axis ([0, 1, -100, 0]); hold ("on"); x=ones (1, length (h)); plot (w./pi, x.*-1, ";-1 dB;") plot (w./pi, x.*-90, ";-90 dB;") hold ("off"); ***** error [a, b] = ellip () ***** error [a, b] = ellip (1) ***** error [a, b] = ellip (1, 2) ***** error [a, b] = ellip (1, 2, 3) ***** error [a, b] = ellip (1, 2, 3, 4, 5, 6, 7) ***** error [a, b] = ellip (.5, 2, 40, .2) ***** error [a, b] = ellip (3, 2, 40, .2, "invalid") ***** test ellip (6, 3, 50, .6); assert (isrow (ans)); ***** test A = ellip (6, 3, 50, .6); assert (isrow (A)); ***** test [A, B] = ellip (6, 3, 50, .6); assert (isrow (A)); assert (isrow (B)); ***** test [z, p, g] = ellip (6, 3, 50, .6); assert (iscolumn (z)); assert (iscolumn (p)); assert (isscalar (g)); ***** test [a, b, c, d] = ellip (6, 3, 50, .6); assert (ismatrix (a)); assert (iscolumn (b)); assert (isrow (c)); assert (isscalar (d)); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/dst.m] >>>>> /build/octave-signal-1.4.0/inst/dst.m ***** test x = log(linspace(0.1,1,32)); y = dst(x); assert(y(3), sum(x.*sin(3*pi*[1:32]/33)), 100*eps) 1 test, 1 passed, 0 known failure, 0 skipped [inst/downsample.m] >>>>> /build/octave-signal-1.4.0/inst/downsample.m ***** assert(downsample([1,2,3,4,5],2),[1,3,5]); ***** assert(downsample([1;2;3;4;5],2),[1;3;5]); ***** assert(downsample([1,2;3,4;5,6;7,8;9,10],2),[1,2;5,6;9,10]); ***** assert(downsample([1,2,3,4,5],2,1),[2,4]); ***** assert(downsample([1,2;3,4;5,6;7,8;9,10],2,1),[3,4;7,8]); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/digitrevorder.m] >>>>> /build/octave-signal-1.4.0/inst/digitrevorder.m ***** assert (digitrevorder (0, 2), 0); ***** assert (digitrevorder (0, 36), 0); ***** assert (digitrevorder (0:3, 4), 0:3); ***** assert (digitrevorder ([0:3]', 4), [0:3]'); ***** assert (digitrevorder (0:7, 2), [0 4 2 6 1 5 3 7]); ***** assert (digitrevorder ([0:7]', 2), [0 4 2 6 1 5 3 7]'); ***** assert (digitrevorder ([0:7]*i, 2), [0 4 2 6 1 5 3 7]*i); ***** assert (digitrevorder ([0:7]'*i, 2), [0 4 2 6 1 5 3 7]'*i); ***** assert (digitrevorder (0:15, 2), [0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15]); ***** assert (digitrevorder (0:15, 4), [0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15]); ***** error digitrevorder (); ***** error digitrevorder (1); ***** error digitrevorder (1, 2, 3); ***** error digitrevorder ([], 1); ***** error digitrevorder ([], 37); ***** error digitrevorder (0:3, 8); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/decimate.m] >>>>> /build/octave-signal-1.4.0/inst/decimate.m ***** demo t=0:0.01:2; x=chirp(t,2,.5,10,'quadratic')+sin(2*pi*t*0.4); y = decimate(x,4); # factor of 4 decimation stem(t(1:121)*1000,x(1:121),"-g;Original;"); hold on; # plot original stem(t(1:4:121)*1000,y(1:31),"-r;Decimated;"); hold off; # decimated %------------------------------------------------------------------ % The signal to decimate starts away from zero, is slowly varying % at the start and quickly varying at the end, decimate and plot. % Since it starts away from zero, you will see the boundary % effects of the antialiasing filter clearly. You will also see % how it follows the curve nicely in the slowly varying early % part of the signal, but averages the curve in the quickly % varying late part of the signal. ***** error decimate () ***** error decimate (1) ***** error decimate (1, 2, 3, 4, 5) ***** error decimate (1, -1) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/db2pow.m] >>>>> /build/octave-signal-1.4.0/inst/db2pow.m ***** shared db db = [-10, 0, 10, 20, 25]; ***** assert (db2pow (db), [0.10000, 1.00000, 10.00000, 100.00000, 316.22777], 0.00001) ***** assert (db2pow (db'), [0.10000; 1.00000; 10.00000; 100.00000; 316.22777], 0.00001) ***** error db2pow () ***** error db2pow (1, 2) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/data2fun.m] >>>>> /build/octave-signal-1.4.0/inst/data2fun.m ***** shared t, y t = linspace (0, 1, 10); y = t.^2 - 2*t + 1; ***** test fhandle = data2fun (t, y); assert (y, fhandle (t)); ***** test unwind_protect [fhandle fname] = data2fun (t, y, "file", "testdata2fun"); yt = testdata2fun (t); assert (y, yt); assert (y, fhandle (t)); unwind_protect_cleanup unlink (fname); unlink ([fname(1:end-2) ".mat"]); end_unwind_protect ***** test unwind_protect [fhandle fname] = data2fun (t, y, "file", ""); yt = testdata2fun (t); assert (y, yt); assert (y, fhandle (t)); unwind_protect_cleanup unlink (fname); unlink ([fname(1:end-2) ".mat"]); end_unwind_protect ***** test unwind_protect [fhandle fname] = data2fun (t, y, "file", "testdata2fun", "interp", "linear"); yt = testdata2fun (t); assert (y, yt); assert (y, fhandle (t)); unwind_protect_cleanup unlink (fname); unlink ([fname(1:end-2) ".mat"]); end_unwind_protect ***** error data2fun () ***** error data2fun (1) ***** error data2fun (1, 2, "file") 7 tests, 7 passed, 0 known failure, 0 skipped [inst/czt.m] >>>>> /build/octave-signal-1.4.0/inst/czt.m ***** shared x x = [1,2,4,1,2,3,5,2,3,5,6,7,8,4,3,6,3,2,5,1]; ***** assert(fft(x),czt(x),10000*eps); ***** assert(fft(x'),czt(x'),10000*eps); ***** assert(fft([x',x']),czt([x',x']),10000*eps); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/cplxreal.m] >>>>> /build/octave-signal-1.4.0/inst/cplxreal.m ***** test [zc, zr] = cplxreal ([]); assert (isempty (zc)) assert (isempty (zr)) ***** test [zc, zr] = cplxreal (1); assert (isempty (zc)) assert (zr, 1) ***** test [zc, zr] = cplxreal ([1+1i, 1-1i]); assert (zc, 1+1i) assert (isempty (zr)) ***** test [zc, zr] = cplxreal (roots ([1, 0, 0, 1])); assert (zc, complex (0.5, sin (pi/3)), 10*eps) assert (zr, -1, 2*eps) ***** error cplxreal () ***** error cplxreal (1, 2, 3, 4) ***** error cplxreal (1, ones (2, 3)) ***** error cplxreal (1, -1) ***** error cplxreal (1, [], 3) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/convmtx.m] >>>>> /build/octave-signal-1.4.0/inst/convmtx.m ***** assert(convmtx([3,4,5],3),[3,4,5,0,0;0,3,4,5,0;0,0,3,4,5]) ***** assert(convmtx([3;4;5],3),[3,0,0;4,3,0;5,4,3;0,5,4;0,0,5]) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/chirp.m] >>>>> /build/octave-signal-1.4.0/inst/chirp.m ***** demo t = 0:0.001:5; y = chirp (t); specgram (y, 256, 1000); %------------------------------------------------------------ % Shows linear sweep of 100 Hz/sec starting at zero for 5 sec % since the sample rate is 1000 Hz, this should be a diagonal % from bottom left to top right. ***** demo t = -2:0.001:15; y = chirp (t, 400, 10, 100, "quadratic"); [S, f, t] = specgram (y, 256, 1000); t = t - 2; imagesc(t, f, 20 * log10 (abs (S))); set (gca (), "ydir", "normal"); xlabel ("Time"); ylabel ("Frequency"); %------------------------------------------------------------ % Shows a quadratic chirp of 400 Hz at t=0 and 100 Hz at t=10 % Time goes from -2 to 15 seconds. ***** demo t = 0:1/8000:5; y = chirp (t, 200, 2, 500, "logarithmic"); specgram (y, 256, 8000); %------------------------------------------------------------- % Shows a logarithmic chirp of 200 Hz at t=0 and 500 Hz at t=2 % Time goes from 0 to 5 seconds at 8000 Hz. ***** shared t t = (0:5000) ./ 1000; ***** test y1 = chirp (t); y2 = chirp (t, 0, 1, 100, "linear", 0); assert (y2, y1) ***** test y1 = chirp (t, [], [], [], "li"); y2 = chirp (t, 0, 1, 100, "linear", 0); assert (y2, y1) ***** test y1 = chirp (t, [], [], [], "q"); y2 = chirp (t, 0, 1, 100, "quadratic", 0); assert (y2, y1) ***** test y1 = chirp (t, [], [], [], "lo"); y2 = chirp (t, 1e-6, 1, 100, "logarithmic", 0); assert (y2, y1) ***** error chirp () ***** error chirp (1, 2, 3, 4, 5, 6, 7) ***** error chirp (0, [], [], [], "l") ***** error chirp (0, [], [], [], "foo") 8 tests, 8 passed, 0 known failure, 0 skipped [inst/cheby2.m] >>>>> /build/octave-signal-1.4.0/inst/cheby2.m ***** error [a, b] = cheby2 () ***** error [a, b] = cheby2 (1) ***** error [a, b] = cheby2 (1, 2) ***** error [a, b] = cheby2 (1, 2, 3, 4, 5, 6) ***** error [a, b] = cheby2 (.5, 40, .2) ***** error [a, b] = cheby2 (3, 40, .2, "invalid") ***** test cheby2 (3, 4, .5); assert (isrow (ans)); ***** test A = cheby2 (3, 4, .5); assert (isrow (A)); ***** test [A, B] = cheby2 (3, 4, .5); assert (isrow (A)); assert (isrow (B)); ***** test [z, p, g] = cheby2 (3, 4, .5); assert (iscolumn (z)); assert (iscolumn (p)); assert (isscalar (g)); ***** test [a, b, c, d] = cheby2 (3, 4, .5); assert (ismatrix (a)); assert (iscolumn (b)); assert (isrow (c)); assert (isscalar (d)); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/cheby1.m] >>>>> /build/octave-signal-1.4.0/inst/cheby1.m ***** error [a, b] = cheby1 () ***** error [a, b] = cheby1 (1) ***** error [a, b] = cheby1 (1, 2) ***** error [a, b] = cheby1 (1, 2, 3, 4, 5, 6) ***** error [a, b] = cheby1 (.5, 2, .2) ***** error [a, b] = cheby1 (3, 2, .2, "invalid") ***** test cheby1 (3, 4, .5); assert (isrow (ans)); ***** test A = cheby1 (3, 4, .5); assert (isrow (A)); ***** test [A, B] = cheby1 (3, 4, .5); assert (isrow (A)); assert (isrow (B)); ***** test [z, p, g] = cheby1 (3, 4, .5); assert (iscolumn (z)); assert (iscolumn (p)); assert (isscalar (g)); ***** test [a, b, c, d] = cheby1 (3, 4, .5); assert (ismatrix (a)); assert (iscolumn (b)); assert (isrow (c)); assert (isscalar (d)); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/chebwin.m] >>>>> /build/octave-signal-1.4.0/inst/chebwin.m ***** assert (chebwin (1), 1) ***** assert (chebwin (2), ones (2, 1)) ***** error chebwin () ***** error chebwin (0.5) ***** error chebwin (-1) ***** error chebwin (ones (1, 4)) ***** error chebwin (1, 2, 3) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/cheb2ord.m] >>>>> /build/octave-signal-1.4.0/inst/cheb2ord.m ***** demo fs = 44100; fpass = 4000; fstop = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p); SYS = tf (b, a, 1 / fs); f = (0:fs/2)'; W = f * (2 * pi / fs); [H, P] = bode (SYS, 2 * pi * f); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev low-pass Typ II : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = 4000; fstop = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s); SYS = tf (b, a, 1 / fs); f = (0:fs/2)'; W = f * (2 * pi / fs); [H, P] = bode (SYS, 2 * pi * f); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev low-pass Typ II : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = 4000; fpass = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p, "high"); f = (0:fs/2)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev high-pass Typ II : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = 4000; fpass = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s, "high"); f = (0:fs/2)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev high-pass Typ II : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500, 10052]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ II : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500, 10052]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ II : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9182 12000]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ II : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9182 12000]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ II : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500, 10834]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ II : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500, 10834]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ II : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9182, 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_p, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ II : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9182, 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby2 (n, Rstop, Wn_s, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ II : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev low-pass Typ II : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev low-pass Typ II : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev high-pass Typ II : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev high-pass Typ II : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ II : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ II : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9581, 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ II : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9581, 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ II : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ II : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ II : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9581 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_p, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ II : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9581 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb2ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby2 (n, Rstop, Wn_s, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ II : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = cheb2ord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10437], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61074, 64640]); assert (round (Wn_s), [60201, 65578]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = cheb2ord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9581 12000], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61074, 64640]); assert (round (Wn_s), [60199, 65580]); ***** test # Analog high-pass [n, Wn_p, Wn_s] = cheb2ord (2 * pi * 13584, 2 * pi * 4000, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 37832); assert (round (Wn_s), 25133); ***** test # Analog low-pass [n, Wn_p, Wn_s] = cheb2ord (2 * pi * 4000, 2 * pi * 13584, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 56700); assert (round (Wn_s), 85351); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = cheb2ord (2 * pi * [9000, 10437], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61652, 64035]); assert (round (Wn_s), [62046, 63627]); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = cheb2ord (2 * pi * [9581, 12000], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61651, 64036]); assert (round (Wn_s), [62046, 63627]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * [9500, 9750], ... 2 / fs * [8500, 10052], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9344, 9908]); assert (round (Wn_s), [9203, 10052]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * [9500, 9750], ... 2 / fs * [9182, 12000], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9344, 9908]); assert (round (Wn_s), [9182, 10073]); ***** test # Digital high-pass fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * 10988, 2 / fs * 4000, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 5829); assert (round (Wn_s), 4000); ***** test # Digital low-pass fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * 4000, 2 / fs * 10988, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 8197); assert (round (Wn_s), 10988); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * [8500, 10834], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9804, 10198]); assert (round (Wn_s), [9875, 10127]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = cheb2ord (2 / fs * [9182 12000], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9804, 10198]); assert (round (Wn_s), [9875, 10127]); ***** error cheb2ord () ***** error cheb2ord (.1) ***** error cheb2ord (.1, .2) ***** error cheb2ord (.1, .2, 3) ***** error cheb2ord ([.1 .1], [.2 .2], 3, 4) ***** error cheb2ord ([.1 .2], [.5 .6], 3, 4) ***** error cheb2ord ([.1 .5], [.2 .6], 3, 4) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/cheb1ord.m] >>>>> /build/octave-signal-1.4.0/inst/cheb1ord.m ***** demo fs = 44100; fpass = 4000; fstop = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p); SYS = tf (b, a, 1 / fs); f = (0:fs/2)'; W = f * (2 * pi / fs); [H, P] = bode (SYS, 2 * pi * f); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev low-pass Typ I : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = 4000; fstop = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s); SYS = tf (b, a, 1 / fs); f = (0:fs/2)'; W = f * (2 * pi / fs); [H, P] = bode (SYS, 2 * pi * f); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev low-pass Typ I : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = 4000; fpass = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p, "high"); f = (0:fs/2)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev high-pass Typ I : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = 4000; fpass = 10988; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s, "high"); f = (0:fs/2)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev high-pass Typ I : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500, 10052]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ I : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500, 10052]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ I : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9182 12000]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ I : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9182 12000]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev band-pass Typ I : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500, 10834]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ I : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500, 10834]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ I : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9182, 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_p, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ I : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9182, 12000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop) [b, a] = cheby1 (n, Rpass, Wn_s, "stop"); f = (6000:14000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); Ampl = abs (H); plot (f, 20 * log10 (abs (H))); title ("Digital Chebyshev notch Typ I : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev low-pass Typ I : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev low-pass Typ I : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev high-pass Typ I : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13584; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Chebyshev high-pass Typ I : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ I : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ I : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9581, 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ I : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9581, 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev band-pass Typ I : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); grid on; ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ I : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9000, 10437]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ I : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9581 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_p, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ I : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875, 10126.5823]; fpass = [9581 12000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = cheb1ord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = cheby1 (n, Rpass, Wn_s, "stop", "s"); f = 6000:14000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Chebyshev notch Typ I : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , 0, 0 ]; hold on plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = cheb1ord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10437], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [62046, 63627]); assert (round (Wn_s), [61652, 64035]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = cheb1ord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9581 12000], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [62046, 63627]); assert (round (Wn_s), [61651, 64036]); ***** test # Analog high-pass [n, Wn_p, Wn_s] = cheb1ord (2 * pi * 13584, 2 * pi * 4000, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 85351); assert (round (Wn_s), 56700); ***** test # Analog low-pass [n, Wn_p, Wn_s] = cheb1ord (2 * pi * 4000, 2 * pi * 13584, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 25133); assert (round (Wn_s), 37832); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = cheb1ord (2 * pi * [9000, 10437], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [60201, 65578]); assert (round (Wn_s), [61074, 64640]); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = cheb1ord (2 * pi * [9581, 12000], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [60199, 65580]); assert (round (Wn_s), [61074, 64640]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * [9500, 9750], ... 2 / fs * [8500, 10052], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9500, 9750]); assert (round (Wn_s), [9437, 9814]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * [9500, 9750], ... 2 / fs * [9182, 12000], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9500, 9750]); assert (round (Wn_s), [9428, 9823]); ***** test # Digital high-pass fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * 10988, 2 / fs * 4000, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 10988); assert (round (Wn_s), 8197); ***** test # Digital low-pass fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * 4000, 2 / fs * 10988, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 4000); assert (round (Wn_s), 5829); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * [8500, 10834], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9182, 10834]); assert (round (Wn_s), [9475, 10532]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = cheb1ord (2 / fs * [9182 12000], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9182, 10834]); assert (round (Wn_s), [9475, 10532]); ***** error cheb1ord () ***** error cheb1ord (.1) ***** error cheb1ord (.1, .2) ***** error cheb1ord (.1, .2, 3) ***** error cheb1ord ([.1 .1], [.2 .2], 3, 4) ***** error cheb1ord ([.1 .2], [.5 .6], 3, 4) ***** error cheb1ord ([.1 .5], [.2 .6], 3, 4) 19 tests, 19 passed, 0 known failure, 0 skipped [inst/cconv.m] >>>>> /build/octave-signal-1.4.0/inst/cconv.m ***** shared x x = [1, 2, 3, 4, 5]; ***** assert (cconv (x, 1), [1, 2, 3, 4, 5]) ***** assert (cconv (x', 1), [1; 2; 3; 4; 5]) ***** assert (cconv (x, [1 1]), [1, 3, 5, 7, 9, 5]) ***** assert (cconv (x, [1 1], 3), [8, 12, 10]) ***** assert (cconv ([2 1 2 1], [1 2 3 4]), [2 5 10 16 12 11 4], 1e-14) ***** assert (cconv ([2 1 2 1], [1 2 3 4], 4), [14 16 14 16]) ***** assert (cconv ([2 1 2 1], [1 2 3 4], 3), [22 17 21]) ***** assert (cconv ([2 1 2 1], [1 2 3 4], 2), [28 32]) ***** assert (cconv ([2 1 2 1], [1 2 3 4], 1), 60) ***** assert (cconv (x*j, 1), [1j, 2j, 3j, 4j, 5j]) ***** assert (cconv (x'*j, 1), [1j; 2j; 3j; 4j; 5j]) ***** error cconv () ***** error cconv (1) ***** error cconv (1, 1, [1 1]) ***** error cconv (ones (2, 2), 1) ***** error cconv (1, ones (2, 2)) ***** error cconv (1, 1, 3.5) 17 tests, 17 passed, 0 known failure, 0 skipped [inst/buttord.m] >>>>> /build/octave-signal-1.4.0/inst/buttord.m ***** demo fs = 44100; Npts = fs / 2; fpass = 4000; fstop = 10987; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p); f = 8000:12000; W = 2 * pi * f; [H, f] = freqz (b, a, Npts, fs); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth low-pass : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; Npts = fs / 2; fpass = 4000; fstop = 10987; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s); f = 8000:12000; W = 2 * pi * f; [H, f] = freqz (b, a, Npts, fs); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth low-pass : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; Npts = fs / 2; fstop = 4000; fpass = 10987; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p, "high"); f = 8000:12000; W = 2 * pi * f; [H, f] = freqz (b, a, Npts, fs); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth high-pass : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; Npts = fs / 2; fstop = 4000; fpass = 10987; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s, "high"); f = 8000:12000; W = 2 * pi * f; [H, f] = freqz (b, a, Npts, fs); plot (f, 20 * log10 (abs (H))) title ("Digital Butterworth high-pass : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [min(f) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500 10051]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth band-pass : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [8500 10051]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth band-pass : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9204 10700]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth band-pass : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fpass = [9500 9750]; fstop = [9204 10700]; Rpass = 1; Rstop = 26; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth band-pass : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500 10833]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p, "stop"); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth notch : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [8500 10833]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s, "stop"); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth notch : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9183 11000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_p, "stop"); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth notch : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fs = 44100; fstop = [9875, 10126.5823]; fpass = [9183 11000]; Rpass = 0.5; Rstop = 40; Wpass = 2 / fs * fpass; Wstop = 2 / fs * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop) [b, a] = butter (n, Wn_s, "stop"); f = (8000:12000)'; W = f * (2 * pi / fs); H = freqz (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Digital Butterworth notch : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [min(f) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [min(f) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13583; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))) title ("Analog Butterworth low-pass : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = 4000; fstop = 13583; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Butterworth low-pass : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_lp_pass_x = [f(2) , fpass(1), fpass(1)]; outline_lp_pass_y = [-Rpass, -Rpass , -80]; outline_lp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_lp_stop_y = [0 , 0 , -Rstop , -Rstop]; hold on; plot (outline_lp_pass_x, outline_lp_pass_y, "m"); plot (outline_lp_stop_x, outline_lp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13583; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Butterworth high-pass : matching pass band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = 4000; fpass = 13583; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "high", "s"); f = 1000:10:100000; W = 2 * pi * f; H = freqs (b, a, W); semilogx (f, 20 * log10 (abs (H))); title ("Analog Butterworth high-pass : matching stop band"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_hp_pass_x = [fpass(1), fpass(1), max(f)]; outline_hp_pass_y = [-80 , -Rpass , -Rpass]; outline_hp_stop_x = [f(2) , fstop(1), fstop(1), max(f)]; outline_hp_stop_y = [-Rstop , -Rstop , 0 , 0 ]; hold on; plot (outline_hp_pass_x, outline_hp_pass_y, "m"); plot (outline_hp_stop_x, outline_hp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10436]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth band-pass : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9000, 10436]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth band-pass : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9582, 11000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth band-pass : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fpass = [9875, 10126.5823]; fstop = [9582, 11000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth band-pass : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_bp_pass_x = [fpass(1), fpass(1), fpass(2), fpass(2)]; outline_bp_pass_y = [-80 , -Rpass , -Rpass , -80]; outline_bp_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_bp_stop_y = [-Rstop , -Rstop , 0 , 0 , ... -Rstop , -Rstop]; hold on; plot (outline_bp_pass_x, outline_bp_pass_y, "m"); plot (outline_bp_stop_x, outline_bp_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875 10126.5823]; fpass = [9000 10436]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "stop", "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth notch : matching pass band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875 10126.5823]; fpass = [9000 10436]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "stop", "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth notch : matching stop band, limit on upper freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875 10126.5823]; fpass = [9582 11000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_p, "stop", "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth notch : matching pass band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** demo fstop = [9875 10126.5823]; fpass = [9582 11000]; Rpass = 1; Rstop = 26; Wpass = 2 * pi * fpass; Wstop = 2 * pi * fstop; [n, Wn_p, Wn_s] = buttord (Wpass, Wstop, Rpass, Rstop, "s") [b, a] = butter (n, Wn_s, "stop", "s"); f = 8000:12000; W = 2 * pi * f; H = freqs (b, a, W); plot (f, 20 * log10 (abs (H))); title ("Analog Butterworth notch : matching stop band, limit on lower freq"); xlabel ("Frequency (Hz)"); ylabel ("Attenuation (dB)"); grid on; outline_notch_pass_x_a = [f(2) , fpass(1), fpass(1)]; outline_notch_pass_x_b = [fpass(2), fpass(2), max(f)]; outline_notch_pass_y_a = [-Rpass , -Rpass , -80]; outline_notch_pass_y_b = [-80 , -Rpass , -Rpass]; outline_notch_stop_x = [f(2) , fstop(1), fstop(1), fstop(2), ... fstop(2), max(f)]; outline_notch_stop_y = [0 , 0 , -Rstop , -Rstop , ... 0 , 0 ]; hold on; plot (outline_notch_pass_x_a, outline_notch_pass_y_a, "m"); plot (outline_notch_pass_x_b, outline_notch_pass_y_b, "m"); plot (outline_notch_stop_x, outline_notch_stop_y, "m"); ylim ([-80, 0]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = buttord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10436], 1, 26, "s"); assert (n, 4); assert (round (Wn_p), [61903, 63775]); assert (round (Wn_s), [61575, 64114]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = buttord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9582, 11000], 1, 26, "s"); assert (n, 4); assert (round (Wn_p), [61903, 63775]); assert (round (Wn_s), [61575, 64115]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = buttord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9000, 10437], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61850, 63830]); assert (round (Wn_s), [61848, 63831]); ***** test # Analog band-pass [n, Wn_p, Wn_s] = buttord (2 * pi * [9875, 10126.5823], ... 2 * pi * [9581, 11000], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [61850, 63830]); assert (round (Wn_s), [61847, 63832]); ***** test # Analog high-pass [n, Wn_p, Wn_s] = buttord (2 * pi * 13583, 2 * pi * 4000, 1, 26, "s"); assert (n, 4); assert (round (Wn_p), 72081); assert (round (Wn_s), 53101); ***** test # Analog high-pass [n, Wn_p, Wn_s] = buttord (2 * pi * 13584, 2 * pi * 4000, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 68140); assert (round (Wn_s), 68138); ***** test # Analog low-pass [n, Wn_p, Wn_s] = buttord (2 * pi * 4000, 2 * pi * 13583, 1, 26, "s"); assert (n, 4); assert (round (Wn_p), 29757); assert (round (Wn_s), 40394); ***** test # Analog low-pass [n, Wn_p, Wn_s] = buttord (2 * pi * 4000, 2 * pi * 13584, 1, 26, "s"); assert (n, 3); assert (round (Wn_p), 31481); assert (round (Wn_s), 31482); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = buttord (2 * pi * [9000, 10436], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 4); assert (round (Wn_p), [60607, 65138]); assert (round (Wn_s), [61184, 64524]); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = buttord (2 * pi * [9582, 11000], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 4); assert (round (Wn_p), [60606, 65139]); assert (round (Wn_s), [61184, 64524]); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = buttord (2 * pi * [9000, 10437], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [60722, 65015]); assert (round (Wn_s), [60726, 65011]); ***** test # Analog notch (narrow band-stop) [n, Wn_p, Wn_s] = buttord (2 * pi * [9581, 11000], ... 2 * pi * [9875, 10126.5823], 1, 26, "s"); assert (n, 3); assert (round (Wn_p), [60721, 65016]); assert (round (Wn_s), [60726, 65011]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9500, 9750], ... 2 / fs * [8500, 10051], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), [9477, 9773]); assert (round (Wn_s), [9425, 9826]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9500, 9750], ... 2 / fs * [9204, 10700], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), [9477, 9773]); assert (round (Wn_s), [9425, 9826]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9500, 9750], ... 2 / fs * [8500, 10052], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9469, 9782]); assert (round (Wn_s), [9468, 9782]); ***** test # Digital band-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9500, 9750], ... 2 / fs * [9203, 10700], 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9469, 9782]); assert (round (Wn_s), [9468, 9782]); ***** test # Digital high-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * 10987, 2 / fs * 4000, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), 9808); assert (round (Wn_s), 7780); ***** test # Digital high-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * 10988, 2 / fs * 4000, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 9421); assert (round (Wn_s), 9421); ***** test # Digital low-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * 4000, 2 / fs * 10987, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), 4686); assert (round (Wn_s), 6176); ***** test # Digital low-pass fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * 4000, 2 / fs * 10988, 1, 26); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), 4936); assert (round (Wn_s), 4936); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [8500, 10833], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), [9369, 10640]); assert (round (Wn_s), [9605, 10400]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9183, 11000], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 4); assert (round (Wn_p), [9370, 10640]); assert (round (Wn_s), [9605, 10400]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [8500, 10834], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9421, 10587]); assert (round (Wn_s), [9422, 10587]); ***** test # Digital notch (narrow band-stop) fs = 44100; [n, Wn_p, Wn_s] = buttord (2 / fs * [9182, 11000], ... 2 / fs * [9875, 10126.5823], 0.5, 40); Wn_p = Wn_p * fs / 2; Wn_s = Wn_s * fs / 2; assert (n, 3); assert (round (Wn_p), [9421, 10587]); assert (round (Wn_s), [9422, 10587]); ***** error buttord () ***** error buttord (.1) ***** error buttord (.1, .2) ***** error buttord (.1, .2, 3) ***** error buttord ([.1 .1], [.2 .2], 3, 4) ***** error buttord ([.1 .2], [.5 .6], 3, 4) ***** error buttord ([.1 .5], [.2 .6], 3, 4) 31 tests, 31 passed, 0 known failure, 0 skipped [inst/butter.m] >>>>> /build/octave-signal-1.4.0/inst/butter.m ***** shared sf, sf2, off_db off_db = 0.5; ## Sampling frequency must be that high to make the low pass filters pass. sf = 6000; sf2 = sf/2; data=[sinetone(5,sf,10,1),sinetone(10,sf,10,1),sinetone(50,sf,10,1),sinetone(200,sf,10,1),sinetone(400,sf,10,1)]; ***** test ## Test low pass order 1 with 3dB @ 50Hz data=[sinetone(5,sf,10,1),sinetone(10,sf,10,1),sinetone(50,sf,10,1),sinetone(200,sf,10,1),sinetone(400,sf,10,1)]; [b, a] = butter ( 1, 50 / sf2 ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - sf : end, : ) ) ); assert ( [ damp_db( 4 ) - damp_db( 5 ), damp_db( 1 : 3 ) ], [ 6 0 0 -3 ], off_db ) ***** test ## Test low pass order 4 with 3dB @ 50Hz data=[sinetone(5,sf,10,1),sinetone(10,sf,10,1),sinetone(50,sf,10,1),sinetone(200,sf,10,1),sinetone(400,sf,10,1)]; [b, a] = butter ( 4, 50 / sf2 ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - sf : end, : ) ) ); assert ( [ damp_db( 4 ) - damp_db( 5 ), damp_db( 1 : 3 ) ], [ 24 0 0 -3 ], off_db ) ***** test ## Test high pass order 1 with 3dB @ 50Hz data=[sinetone(5,sf,10,1),sinetone(10,sf,10,1),sinetone(50,sf,10,1),sinetone(200,sf,10,1),sinetone(400,sf,10,1)]; [b, a] = butter ( 1, 50 / sf2, "high" ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - sf : end, : ) ) ); assert ( [ damp_db( 2 ) - damp_db( 1 ), damp_db( 3 : end ) ], [ 6 -3 0 0 ], off_db ) ***** test ## Test high pass order 4 with 3dB @ 50Hz data=[sinetone(5,sf,10,1),sinetone(10,sf,10,1),sinetone(50,sf,10,1),sinetone(200,sf,10,1),sinetone(400,sf,10,1)]; [b, a] = butter ( 4, 50 / sf2, "high" ); filtered = filter ( b, a, data ); damp_db = 20 * log10 ( max ( filtered ( end - sf : end, : ) ) ); assert ( [ damp_db( 2 ) - damp_db( 1 ), damp_db( 3 : end ) ], [ 24 -3 0 0 ], off_db ) ***** error [a, b] = butter () ***** error [a, b] = butter (1) ***** error [a, b] = butter (1, 2, 3, 4, 5) ***** error [a, b] = butter (.5, .2) ***** error [a, b] = butter (3, .2, "invalid") ***** test butter (9, .6); assert (isrow (ans)); ***** test A = butter (9, .6); assert (isrow (A)); ***** test [A, B] = butter (9, .6); assert (isrow (A)); assert (isrow (B)); ***** test [z, p, g] = butter (9, .6); assert (iscolumn (z)); assert (iscolumn (p)); assert (isscalar (g)); ***** test [a, b, c, d] = butter (9, .6); assert (ismatrix (a)); assert (iscolumn (b)); assert (isrow (c)); assert (isscalar (d)); ***** demo sf = 800; sf2 = sf/2; data=[[1;zeros(sf-1,1)],sinetone(25,sf,1,1),sinetone(50,sf,1,1),sinetone(100,sf,1,1)]; [b,a]=butter ( 1, 50 / sf2 ); filtered = filter(b,a,data); clf subplot ( columns ( filtered ), 1, 1) plot(filtered(:,1),";Impulse response;") subplot ( columns ( filtered ), 1, 2 ) plot(filtered(:,2),";25Hz response;") subplot ( columns ( filtered ), 1, 3 ) plot(filtered(:,3),";50Hz response;") subplot ( columns ( filtered ), 1, 4 ) plot(filtered(:,4),";100Hz response;") 14 tests, 14 passed, 0 known failure, 0 skipped [inst/buffer.m] >>>>> /build/octave-signal-1.4.0/inst/buffer.m ***** error (buffer(1:10, 4.1)) ***** assert (buffer(1:10, 4), reshape([1:10,0,0],[4,3])) ***** assert (buffer(1:10, 4, 1), reshape([0:3,3:6,6:9,9,10,0,0],[4,4])) ***** assert (buffer(1:10, 4, 2), reshape ([0,0:2,1:4,3:6,5:8,7:10],[4,5])) ***** assert (buffer(1:10, 4, 3), [0,0,0:7;0,0:8;0:9;1:10]) ***** error (buffer(1:10, 4, 3.1)) ***** error (buffer(1:10, 4, 4)) ***** assert (buffer(1:10, 4, -1), reshape([1:4,6:9],[4,2])) ***** assert (buffer(1:10, 4, -2), reshape([1:4,7:10],[4,2])) ***** assert (buffer(1:10, 4, -3), reshape([1:4,8:10,0],[4,2])) ***** assert (buffer(1:10, 4, 1, 11), reshape([11,1:3,3:6,6:9,9,10,0,0],[4,4])) ***** error (buffer(1:10, 4, 1, [10,11])) ***** assert (buffer(1:10, 4, 1, 'nodelay'), reshape([1:4,4:7,7:10],[4,3])) ***** error (buffer(1:10, 4, 1, 'badstring')) ***** assert (buffer(1:10, 4, 2,'nodelay'), reshape ([1:4,3:6,5:8,7:10],[4,4])) ***** assert (buffer(1:10, 4, 3, [11,12,13]),[11,12,13,1:7;12,13,1:8;13,1:9;1:10]) ***** assert (buffer(1:10, 4, 3, 'nodelay'),[1:8;2:9;3:10;4:10,0]) ***** assert (buffer(1:11,4,-2,1),reshape([2:5,8:11],4,2)) ***** test [y, z] = buffer(1:12,4); assert (y, reshape(1:12,4,3)); assert (z, zeros (1,0)); ***** test [y, z] = buffer(1:11,4); assert (y, reshape(1:8,4,2)); assert (z, [9, 10, 11]); ***** test [y, z] = buffer([1:12]',4); assert (y, reshape(1:12,4,3)); assert (z, zeros (0,1)); ***** test [y, z] = buffer([1:11]',4); assert (y, reshape(1:8,4,2)); assert (z, [9; 10; 11]); ***** test [y,z,opt] = buffer(1:15,4,-2,1); assert (y, reshape([2:5,8:11],4,2)); assert (z, [14, 15]); assert (opt, 0); ***** test [y,z,opt] = buffer(1:11,4,-2,1); assert (y, reshape([2:5,8:11],4,2)); assert (z, zeros (1,0)); assert (opt, 2); ***** test [y,z,opt] = buffer([1:15]',4,-2,1); assert (y, reshape([2:5,8:11],4,2)); assert (z, [14; 15]); assert (opt, 0); ***** test [y,z,opt] = buffer([1:11]',4,-2,1); assert (y, reshape([2:5,8:11],4,2)); assert (z, zeros (0, 1)); assert (opt, 2); ***** test [y,z,opt] = buffer([1:11],5,2,[-1,0]); assert (y, reshape ([-1:3,2:6,5:9],[5,3])); assert (z, [10, 11]); assert (opt, [8; 9]); ***** test [y,z,opt] = buffer([1:11]',5,2,[-1,0]); assert (y, reshape ([-1:3,2:6,5:9],[5,3])); assert (z, [10; 11]); assert (opt, [8; 9]); ***** test [y, z, opt] = buffer (1:10, 6, 4); assert (y, [0 0 1:2:5; 0 0 2:2:6; 0 1:2:7; 0 2:2:8; 1:2:9; 2:2:10]) assert (z, zeros (1, 0)) assert (opt, [7; 8; 9; 10]) 29 tests, 29 passed, 0 known failure, 0 skipped [inst/boxcar.m] >>>>> /build/octave-signal-1.4.0/inst/boxcar.m ***** assert (boxcar (1), 1) ***** assert (boxcar (2), ones (2, 1)) ***** assert (boxcar (100), ones (100, 1)) ***** error boxcar () ***** error boxcar (0.5) ***** error boxcar (-1) ***** error boxcar (ones (1, 4)) ***** error boxcar (1, 2) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/bohmanwin.m] >>>>> /build/octave-signal-1.4.0/inst/bohmanwin.m ***** assert (bohmanwin (1), 1) ***** assert (bohmanwin (2), zeros (2, 1)) ***** error bohmanwin () ***** error bohmanwin (0.5) ***** error bohmanwin (-1) ***** error bohmanwin (ones (1, 4)) ***** error bohmanwin (1, 2) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/blackmannuttall.m] >>>>> /build/octave-signal-1.4.0/inst/blackmannuttall.m ***** assert (blackmannuttall (1), 1) ***** assert (blackmannuttall (2), 0.0003628 * ones (2, 1), eps) ***** assert (blackmannuttall (15), flipud (blackmannuttall (15)), 10*eps); ***** assert (blackmannuttall (16), flipud (blackmannuttall (16)), 10*eps); ***** assert (blackmannuttall (15), blackmannuttall (15, "symmetric")); ***** assert (blackmannuttall (16)(1:15), blackmannuttall (15, "periodic")); ***** error blackmannuttall () ***** error blackmannuttall (0.5) ***** error blackmannuttall (-1) ***** error blackmannuttall (ones (1, 4)) ***** error blackmannuttall (1, 2) ***** error blackmannuttall (1, "invalid") 12 tests, 12 passed, 0 known failure, 0 skipped [inst/blackmanharris.m] >>>>> /build/octave-signal-1.4.0/inst/blackmanharris.m ***** assert (blackmanharris (1), 1); ***** assert (blackmanharris (2), 0.00006 * ones (2, 1), eps); ***** assert (blackmanharris (15), flipud (blackmanharris (15)), 10*eps); ***** assert (blackmanharris (16), flipud (blackmanharris (16)), 10*eps); ***** assert (blackmanharris (15), blackmanharris (15, "symmetric")); ***** assert (blackmanharris (16)(1:15), blackmanharris (15, "periodic")); ***** error blackmanharris () ***** error blackmanharris (0.5) ***** error blackmanharris (-1) ***** error blackmanharris (ones (1, 4)) ***** error blackmanharris (1, 2) ***** error blackmanharris (1, "invalid") 12 tests, 12 passed, 0 known failure, 0 skipped [inst/bitrevorder.m] >>>>> /build/octave-signal-1.4.0/inst/bitrevorder.m ***** assert (bitrevorder (0), 0); ***** assert (bitrevorder (0:1), 0:1); ***** assert (bitrevorder ([0:1]'), [0:1]'); ***** assert (bitrevorder (0:7), [0 4 2 6 1 5 3 7]); ***** assert (bitrevorder ([0:7]'), [0 4 2 6 1 5 3 7]'); ***** assert (bitrevorder ([0:7]*i), [0 4 2 6 1 5 3 7]*i); ***** assert (bitrevorder ([0:7]'*i), [0 4 2 6 1 5 3 7]'*i); ***** assert (bitrevorder (0:15), [0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15]); ***** error bitrevorder (); ***** error bitrevorder (1, 2); ***** error bitrevorder ([]); ***** error bitrevorder (0:2); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/besself.m] >>>>> /build/octave-signal-1.4.0/inst/besself.m ***** error [a, b] = besself () ***** error [a, b] = besself (1) ***** error [a, b] = besself (1, 2, 3, 4, 5) ***** error [a, b] = besself (.5, .2) ***** error [a, b] = besself (3, .2, "invalid") 5 tests, 5 passed, 0 known failure, 0 skipped [inst/barthannwin.m] >>>>> /build/octave-signal-1.4.0/inst/barthannwin.m ***** assert (barthannwin (1), 1) ***** assert (barthannwin (2), zeros (2, 1)) ***** error barthannwin () ***** error barthannwin (0.5) ***** error barthannwin (-1) ***** error barthannwin (ones (1, 4)) ***** error barthannwin (1, 2) 7 tests, 7 passed, 0 known failure, 0 skipped Checking C++ files ... [src/upfirdn.cc] >>>>> /build/octave-signal-1.4.0/src/upfirdn.cc ***** assert (isequal (upfirdn (1:100, 1, 1, 1), 1:100)) ***** assert (isequal (upfirdn (1:100, 1, 1, 2), 1:2:100)) ***** error upfirdn () ***** error upfirdn (1,2) ***** error upfirdn (1,2,3) ***** error upfirdn (1,2,3,4,5) 6 tests, 6 passed, 0 known failure, 0 skipped [src/remez.cc] >>>>> /build/octave-signal-1.4.0/src/remez.cc ***** test b = [ 0.0415131831103279 0.0581639884202646 -0.0281579212691008 -0.0535575358002337 -0.0617245915143180 0.0507753178978075 0.2079018331396460 0.3327160895375440 0.3327160895375440 0.2079018331396460 0.0507753178978075 -0.0617245915143180 -0.0535575358002337 -0.0281579212691008 0.0581639884202646 0.0415131831103279]; assert(remez(15,[0,0.3,0.4,1],[1,1,0,0]),b,1e-14); 1 test, 1 passed, 0 known failure, 0 skipped [src/medfilt1.cc] >>>>> /build/octave-signal-1.4.0/src/medfilt1.cc ***** assert (medfilt1 ([1 2 3 4 3 2 1]), [1 2 3 3 3 2 1]); ***** assert (medfilt1 ([1 2 3 4 3 2 1]'), [1 2 3 3 3 2 1]'); ***** assert (medfilt1 ([1 2 3 4 3 2 1], "truncate"), [1.5 2 3 3 3 2 1.5]); ***** assert (medfilt1 ([-1 2 3 4 3 -2 1], "truncate"), [0.5 2 3 3 3 1 -0.5]); ***** assert (medfilt1 ([-1 2 3 4 3 -2 1], "zeropad"), [0 2 3 3 3 1 0]); ***** assert (medfilt1 ([]), []); ***** test A = [1 2 3 ; 6 5 4 ; 6 5 2 ]; assert (medfilt1 (A,4,[],2), [0.5 1.5 1.5; 2.5 4.5 4.5; 2.5 3.5 3.5]); assert (medfilt1 (A,4,[],1), [0.5 3.5 3.5; 1 3.5 3.5; 1.5 2.5 2.5]'); assert (medfilt1 (A,3,[],1), [1 2 3; 6 5 3; 6 5 2]); ***** test A = [ Inf 4 -4 NaN -1 -1 -3 -2 1 -Inf]; B = medfilt1 (A, 7, [], 1, 'includenan', 'zeropad'); assert (B, [0, 0, 0, NaN, 0, 0, 0, 0, 0, 0]); B = medfilt1 (A, 7, [], 2, 'includenan', 'zeropad'); assert (B, [NaN, NaN, NaN, NaN, NaN, NaN, NaN, -1, -1, 0]); B = medfilt1 (A, 7, [], 2, 'includenan', 'truncate'); assert (B, [NaN, NaN, NaN, NaN, NaN, NaN, NaN, -1.5, -2, -2.5]); B = medfilt1 (A, 7, [], 2, 'omitnan', 'zeropad'); assert (B, [0, 0, -0.5, -1, -1.5, -1.5, -1.5, -1, -1, 0]); B = medfilt1 (A, 7, [], 2, 'omitnan', 'truncate'); assert (B, [4, 1.5, -1, -1, -1.5, -1.5, -1.5, -1.5, -2, -2.5]); ***** test A = medfilt1 ([ NaN NaN -Inf], 4, [], 2, 'omitnan', 'truncate'); assert (A, [NaN, -Inf, -Inf]); ***** test A = medfilt1 ([-2 Inf -2; 1 3 -Inf; 1 0 -Inf], 1, [], 2); assert (A, [-2 Inf -2; 1 3 -Inf; 1 0 -Inf]); ***** test A = medfilt1 ([-Inf 0 -3; Inf 1 NaN], 9, [], 1); assert (A, [0, 0, NaN; 0, 0, NaN]); A = medfilt1 ([-Inf 0 -3; Inf 1 NaN], 9, [], 1, 'omitnan', 'truncate'); assert (A, [NaN, 0.5, -3; NaN, 0.5, -3]); ***** test A = medfilt1 ([Inf -3 Inf Inf 0 -2; Inf 1 NaN 5 5 -3], 3, [], 1); assert (A, [Inf, 0, NaN, 5, 0, -2; Inf, 0, NaN, 5, 0, -2]); ***** test A = medfilt1 ([3 3 7 5 6]', 5, [], 1, 'omitnan', 'truncate'); assert (A, [3, 4, 5, 5.5, 6]'); A = medfilt1 ([3 3 7 5 6]', 5, [], 2, 'omitnan', 'truncate'); assert (A, [3, 3, 7, 5, 6]'); ***** test A = medfilt1 ([3 1 4 1 3], 3, 'omitnan', 'truncate'); assert (A, [2, 3, 1, 3, 2]); ***** test A = medfilt1 ([3 1 4 1 3], 6, 'omitnan', 'truncate'); assert (A, [3, 2, 3, 3, 2]); ***** test A = medfilt1 ([1 2 3 4 4 3 2 1; 6 5 4 3 3 4 5 6; 6 5 4 3 2 1 0 -1; 6 5 4 3 2 1 0 -1]); assert (A, [1 2 3 3 3 3 2 1; 6 5 4 3 3 3 2 1; 6 5 4 3 2 1 0 -1; 6 5 4 3 2 1 0 -1]); ***** error (medfilt1 ([1 2 3], -1)); ***** error (medfilt1 ([1 2 3], 1, [], "hello")); ***** error (medfilt1 ([1 2 3], 1, [], "omitnan", false)); ***** error (medfilt1 ({1 2 3})); 20 tests, 20 passed, 0 known failure, 0 skipped [src/cl2bp.cc] >>>>> /build/octave-signal-1.4.0/src/cl2bp.cc ***** test b = [ 0.0000000000000000 0.0563980420304213 -0.0000000000000000 -0.0119990278695041 -0.0000000000000001 -0.3016146759510104 0.0000000000000001 0.5244313235801866 0.0000000000000001 -0.3016146759510104 -0.0000000000000001 -0.0119990278695041 -0.0000000000000000 0.0563980420304213 0.0000000000000000]; assert(cl2bp(7, 0.25*pi, 0.75*pi, [0.01, 1.04, 0.01], [-0.01, 0.96, -0.01], 2^11), b, 1e-14); 1 test, 1 passed, 0 known failure, 0 skipped [src/__ultrwin__.cc] >>>>> /build/octave-signal-1.4.0/src/__ultrwin__.cc ***** assert (1) 1 test, 1 passed, 0 known failure, 0 skipped [src/__fwht__.cc] >>>>> /build/octave-signal-1.4.0/src/__fwht__.cc ***** assert (1) 1 test, 1 passed, 0 known failure, 0 skipped Summary: 783 tests, 782 passed, 1 known failures, 0 skipped dh_octave_substvar -O--buildsystem=octave dh_installdocs -O--buildsystem=octave dh_installchangelogs -O--buildsystem=octave dh_octave_changelogs -O--buildsystem=octave dh_octave_examples -O--buildsystem=octave dh_installinit -O--buildsystem=octave dh_installsystemduser -O--buildsystem=octave dh_perl -O--buildsystem=octave dh_link -O--buildsystem=octave dh_strip_nondeterminism -O--buildsystem=octave dh_compress -O--buildsystem=octave dh_fixperms -O--buildsystem=octave dh_missing -O--buildsystem=octave dh_dwz -O--buildsystem=octave dh_strip -O--buildsystem=octave dh_makeshlibs -O--buildsystem=octave dh_shlibdeps -O--buildsystem=octave dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/__fwht__.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/sosfilt.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/upfirdn.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/medfilt1.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/remez.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/__ultrwin__.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/cl2bp.oct were not linked against libpthread.so.0 (they use none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/__fwht__.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/sosfilt.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/upfirdn.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/medfilt1.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/remez.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/__ultrwin__.oct debian/octave-signal/usr/lib/aarch64-linux-gnu/octave/packages/signal-1.4.0/aarch64-unknown-linux-gnu-api-v52/cl2bp.oct were not linked against libgomp.so.1 (they use none of the library's symbols) dh_installdeb -O--buildsystem=octave dh_gencontrol -O--buildsystem=octave dpkg-gencontrol: warning: package octave-signal: substitution variable ${octave:Upstream-Description} unused, but is defined dpkg-gencontrol: warning: package octave-signal: substitution variable ${octave:Upstream-Description} unused, but is defined dh_md5sums -O--buildsystem=octave dh_builddeb -O--buildsystem=octave dpkg-deb: building package 'octave-signal-dbgsym' in '../octave-signal-dbgsym_1.4.0-3_arm64.deb'. dpkg-deb: building package 'octave-signal' in '../octave-signal_1.4.0-3_arm64.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../octave-signal_1.4.0-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/16537 and its subdirectories I: Current time: Wed Sep 8 01:08:33 -12 2021 I: pbuilder-time-stamp: 1631106513 Thu Aug 6 06:45:37 UTC 2020 I: 1st build successful. Starting 2nd build on remote node codethink-sled12-arm64.debian.net. Thu Aug 6 06:45:37 UTC 2020 I: Preparing to do remote build '2' on codethink-sled12-arm64.debian.net. Thu Aug 6 06:54:04 UTC 2020 I: Deleting $TMPDIR on codethink-sled12-arm64.debian.net. Thu Aug 6 06:54:05 UTC 2020 I: octave-signal_1.4.0-3_arm64.changes: Format: 1.8 Date: Wed, 02 Jan 2019 22:57:43 -0200 Source: octave-signal Binary: octave-signal octave-signal-dbgsym Architecture: arm64 Version: 1.4.0-3 Distribution: unstable Urgency: medium Maintainer: Debian Octave Group Changed-By: Rafael Laboissiere Description: octave-signal - signal processing functions for Octave Changes: octave-signal (1.4.0-3) unstable; urgency=medium . * d/control: + Add Rules-Requires-Root: no + Bump Standards-Version to 4.3.0 + Bump to debhelper compat level 12 * Build-depend on debhelper-compat instead of using d/compat Checksums-Sha1: f73e68b768bf6e0b5ae0ae213eb4a7f6087c4cb5 1998384 octave-signal-dbgsym_1.4.0-3_arm64.deb d66f098539554a052ed6cf72ca2c28b982fb3cd0 14967 octave-signal_1.4.0-3_arm64.buildinfo fb2f31549c2010de0c2873c05245e064b2ccf819 202200 octave-signal_1.4.0-3_arm64.deb Checksums-Sha256: e4fdf0bb1195805cadfe0402fd8a643847cfb667e08b70d283fb1baa0e60f1fe 1998384 octave-signal-dbgsym_1.4.0-3_arm64.deb 3e1ac62eeeee3c9ff3113c60ead03e050802f778b4f50e825b5113a8c7f3a328 14967 octave-signal_1.4.0-3_arm64.buildinfo fd31dcc1fa65c0da58bffe4b3e3fa94239bca5715a47ce84c51249d078a02486 202200 octave-signal_1.4.0-3_arm64.deb Files: 674755ee79e3d06bd342abedd6bb8bf3 1998384 debug optional octave-signal-dbgsym_1.4.0-3_arm64.deb 1a7b66a4d191ed8aca111af17d2b08e2 14967 math optional octave-signal_1.4.0-3_arm64.buildinfo a5257bb2b5adb756168b385c66c6826c 202200 math optional octave-signal_1.4.0-3_arm64.deb Thu Aug 6 06:54:06 UTC 2020 I: diffoscope 154 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/octave-signal_1.4.0-3.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/octave-signal_1.4.0-3.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/octave-signal_1.4.0-3.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/b1/octave-signal_1.4.0-3_arm64.changes /srv/reproducible-results/rbuild-debian/tmp.xstaH02ZGu/b2/octave-signal_1.4.0-3_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.246s) 0.246s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.050s) 0.049s 10 calls diffoscope.comparators.binary.FilesystemFile 0.000s 8 calls abc.DotChangesFile Thu Aug 6 06:54:07 UTC 2020 I: diffoscope 154 found no differences in the changes files, and a .buildinfo file also exists. Thu Aug 6 06:54:07 UTC 2020 I: octave-signal from buster built successfully and reproducibly on arm64. Thu Aug 6 06:54:09 UTC 2020 I: Submitting .buildinfo files to external archives: Thu Aug 6 06:54:09 UTC 2020 I: Submitting 16K b1/octave-signal_1.4.0-3_arm64.buildinfo.asc Thu Aug 6 06:54:09 UTC 2020 I: Submitting 16K b2/octave-signal_1.4.0-3_arm64.buildinfo.asc Thu Aug 6 06:54:10 UTC 2020 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Thu Aug 6 06:54:10 UTC 2020 I: Done submitting .buildinfo files. Thu Aug 6 06:54:10 UTC 2020 I: Removing signed octave-signal_1.4.0-3_arm64.buildinfo.asc files: removed './b1/octave-signal_1.4.0-3_arm64.buildinfo.asc' removed './b2/octave-signal_1.4.0-3_arm64.buildinfo.asc'