Sun Dec 15 20:00:09 UTC 2024 I: starting to build octave-signal/trixie/i386 on jenkins on '2024-12-15 19:59' Sun Dec 15 20:00:09 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_11/38760/console.log Sun Dec 15 20:00:09 UTC 2024 I: Downloading source for trixie/octave-signal=1.4.6-1 --2024-12-15 20:00:10-- http://deb.debian.org/debian/pool/main/o/octave-signal/octave-signal_1.4.6-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2319 (2.3K) [text/prs.lines.tag] Saving to: ‘octave-signal_1.4.6-1.dsc’ 0K .. 100% 299M=0s 2024-12-15 20:00:10 (299 MB/s) - ‘octave-signal_1.4.6-1.dsc’ saved [2319/2319] Sun Dec 15 20:00:10 UTC 2024 I: octave-signal_1.4.6-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: octave-signal Binary: octave-signal Architecture: any Version: 1.4.6-1 Maintainer: Debian Octave Group Uploaders: Rafael Laboissière , Mike Miller Homepage: https://gnu-octave.github.io/packages/signal/ Standards-Version: 4.7.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 (= 13), dh-octave (>= 1.8.0), dh-sequence-octave, octave-control, python3 , texlive Build-Conflicts: octave-nan Package-List: octave-signal deb math optional arch=any Checksums-Sha1: c4c98565daef6558da05693007f9356a38757bdd 447403 octave-signal_1.4.6.orig.tar.gz e51bc02b0b855b2b7c03214b63971b3b0928c96b 9884 octave-signal_1.4.6-1.debian.tar.xz Checksums-Sha256: 94eef8fea78c89609f8ddf6d5ff8bfc2e0dab932b43f86ce911474a58b5c71ee 447403 octave-signal_1.4.6.orig.tar.gz 25e07ed73641971a648c6965995b7183381aba8dd33001883294b9be553b5bd4 9884 octave-signal_1.4.6-1.debian.tar.xz Files: 9ffa0d22143cec417c472c7949ff85ce 447403 octave-signal_1.4.6.orig.tar.gz 74d6eacf9dd640c1dac236900ddcfd2f 9884 octave-signal_1.4.6-1.debian.tar.xz Dgit: 93442ca2d36c46526c9e92b23de80511e8a6bad1 debian archive/debian/1.4.6-1 https://git.dgit.debian.org/octave-signal -----BEGIN PGP SIGNATURE----- iQJGBAEBCAAwFiEEP0ZDkUmP6HS9tdmPISSqGYN4XJAFAmb5YT8SHHJhZmFlbEBk ZWJpYW4ub3JnAAoJECEkqhmDeFyQxggP/1oz1vua+YiNI9A9daJ5r0ktkkrUO0gZ qoTFJfTjdWJ2xGvlJ43WBPQgfzlzmuYk4ThsFiIU6VO3blKnaCZyb7CC/M+jWdGV a8UzXfWgLsr9R2++7k1JLnjWWL8gUQUaLrVE2E6NbXgmVpo0imPtEgmGHW3oYIaV tPYt+hr25vHj2dT44ib0ROj9BC/M/ertdvKzIfbG6RSAZ0YL8ICTF8TQd6MVXRWM VISf4s2YGUQ4zdnRCWiu48GeAabitBqxotBzX81m3j15X4Zprb8bdh1L1sqmIntq 9c5mBpX4k657cHBTHG0asX3sPOQl7bqNgqXWqUMjTeGmGSfkD17566JFAq7hhg86 EVu6Lh7PssTX4EuC6f6M7MafZxo3v1W4tCJ4OC+cZjEljvoii7/zvqRs88jqDvjs R+8n+QM8HfyHXB5ryAZb/x/iaaxK8uyndTaAQen6B9XVDwjR/9IxTDvwjUwyl9vk WWhX1aWTdIabzsytp6P74D0gK/oUIclhHjqpWWTQNC2FLtDQxttNoVzTK1Wh16ad 8IGScz77wkXPxP8pCBGoLLxhN5nOiY4kATDoef0S+EOwLLzX6hleBVtgOqJN8ylw WX0/k4sfUusjtiBUiar4F17i96QDg8BQNtIN7O1QY0U9BzKkeQ1HrI5/tA46GsPT p/6G0QyntkgQ =YRYo -----END PGP SIGNATURE----- Sun Dec 15 20:00:10 UTC 2024 I: Checking whether the package is not for us Sun Dec 15 20:00:10 UTC 2024 I: Starting 1st build on remote node infom08-i386.debian.net. Sun Dec 15 20:00:10 UTC 2024 I: Preparing to do remote build '1' on infom08-i386.debian.net. Sun Dec 15 20:03:30 UTC 2024 I: Deleting $TMPDIR on infom08-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sat Jan 17 14:23:11 -12 2026 I: pbuilder-time-stamp: 1768702991 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. 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: using eatmydata during job I: Copying source file I: copying [octave-signal_1.4.6-1.dsc] I: copying [./octave-signal_1.4.6.orig.tar.gz] I: copying [./octave-signal_1.4.6-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sun Sep 29 14:16:31 2024 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: issuer "rafael@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./octave-signal_1.4.6-1.dsc: no acceptable signature found dpkg-source: info: extracting octave-signal in octave-signal-1.4.6 dpkg-source: info: unpacking octave-signal_1.4.6.orig.tar.gz dpkg-source: info: unpacking octave-signal_1.4.6-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying add-Makefile.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/19959/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='a3cc5a70cd4e4c80a1770f13d53c8acf' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' 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='19959' 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/r-b-build.4J4KOeqT/pbuilderrc_s4Qo --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/b1 --logfile b1/build.log octave-signal_1.4.6-1.dsc' SUDO_GID='111' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' I: uname -a Linux infom08-i386 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/19959/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: i386 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 (= 13), dh-octave (>= 1.8.0), dh-sequence-octave, octave-control, python3, texlive 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 ... 19952 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 (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-octave (>= 1.8.0); however: Package dh-octave is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-octave; however: Package dh-sequence-octave is not installed. pbuilder-satisfydepends-dummy depends on octave-control; however: Package octave-control is not installed. pbuilder-satisfydepends-dummy depends on python3; however: Package python3 is not installed. pbuilder-satisfydepends-dummy depends on texlive; however: Package texlive 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} appstream{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} cme{a} comerr-dev{a} debhelper{a} dh-autoreconf{a} dh-octave{a} dh-octave-autopkgtest{a} dh-strip-nondeterminism{a} diffstat{a} dwz{a} file{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} fonts-freefont-otf{a} fonts-lmodern{a} gettext{a} gettext-base{a} gfortran{a} gfortran-14{a} gfortran-14-i686-linux-gnu{a} gfortran-i686-linux-gnu{a} gnuplot-data{a} gnuplot-nox{a} gpg{a} gpgconf{a} groff-base{a} hdf5-helpers{a} intltool-debian{a} iso-codes{a} krb5-multidev{a} libabsl20230802{a} libaec-dev{a} libaec0{a} libalgorithm-c3-perl{a} libaliased-perl{a} libamd3{a} libaom3{a} libapp-cmd-perl{a} libappstream5{a} libapt-pkg-perl{a} libarchive-zip-perl{a} libarpack2t64{a} libarray-intspan-perl{a} libasound2-data{a} libasound2t64{a} libassuan9{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libavif16{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libb2-1{a} libberkeleydb-perl{a} libblas-dev{a} libblas3{a} libboolean-perl{a} libbrotli-dev{a} libbrotli1{a} libcairo2{a} libcamd3{a} libcapture-tiny-perl{a} libcarp-assert-more-perl{a} libccolamd3{a} libcgi-pm-perl{a} libcholmod5{a} libclass-c3-perl{a} libclass-data-inheritable-perl{a} libclass-inspector-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-xsaccessor-perl{a} libclone-choose-perl{a} libclone-perl{a} libcolamd3{a} libcom-err2{a} libconfig-model-backend-yaml-perl{a} libconfig-model-dpkg-perl{a} libconfig-model-perl{a} libconfig-tiny-perl{a} libconst-fast-perl{a} libconvert-binhex-perl{a} libcpanel-json-xs-perl{a} libcups2t64{a} libcurl3t64-gnutls{a} libcurl4-openssl-dev{a} libcurl4t64{a} libcxsparse4{a} libdata-dpath-perl{a} libdata-messagepack-perl{a} libdata-optlist-perl{a} libdata-section-perl{a} libdata-validate-domain-perl{a} libdata-validate-ip-perl{a} libdata-validate-uri-perl{a} libdatrie1{a} libdav1d7{a} libdbus-1-3{a} libde265-0{a} libdebhelper-perl{a} libdeflate0{a} libdevel-callchecker-perl{a} libdevel-size-perl{a} libdevel-stacktrace-perl{a} libdouble-conversion3{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-intel1{a} libdrm-radeon1{a} libdrm2{a} libduktape207{a} libdynaloader-functions-perl{a} libedit2{a} libegl-mesa0{a} libegl1{a} libelf1t64{a} libemail-address-xs-perl{a} libencode-locale-perl{a} liberror-perl{a} libevdev2{a} libevent-2.1-7t64{a} libexception-class-perl{a} libexpat1{a} libexporter-lite-perl{a} libexporter-tiny-perl{a} libfeature-compat-class-perl{a} libfeature-compat-try-perl{a} libfftw3-bin{a} libfftw3-dev{a} libfftw3-double3{a} libfftw3-long3{a} libfftw3-quad3{a} libfftw3-single3{a} libfile-basedir-perl{a} libfile-find-rule-perl{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-sharedir-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libflac12t64{a} libfltk-gl1.3t64{a} libfltk1.3t64{a} libfont-ttf-perl{a} libfontconfig1{a} libfreetype6{a} libfribidi0{a} libgav1-1{a} libgbm1{a} libgd3{a} libgetopt-long-descriptive-perl{a} libgfortran-14-dev{a} libgfortran5{a} libgif7{a} libgl-dev{a} libgl1{a} libgl1-mesa-dri{a} libgl2ps1.4{a} libglapi-mesa{a} libglib2.0-0t64{a} libglpk40{a} libglu1-mesa{a} libglvnd0{a} libglx-dev{a} libglx-mesa0{a} libglx0{a} libgmp-dev{a} libgmpxx4ldbl{a} libgnutls-dane0t64{a} libgnutls-openssl27t64{a} libgnutls28-dev{a} libgraphicsmagick++-q16-12t64{a} libgraphicsmagick-q16-3t64{a} libgraphite2-3{a} libgssapi-krb5-2{a} libgssrpc4t64{a} libgudev-1.0-0{a} libharfbuzz0b{a} libhash-merge-perl{a} libhdf5-103-1t64{a} libhdf5-cpp-103-1t64{a} libhdf5-dev{a} libhdf5-fortran-102t64{a} libhdf5-hl-100t64{a} libhdf5-hl-cpp-100t64{a} libhdf5-hl-fortran-100t64{a} libheif-plugin-dav1d{a} libheif-plugin-libde265{a} libheif1{a} libhtml-form-perl{a} libhtml-html5-entities-perl{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tokeparser-simple-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libhwy1t64{a} libice6{a} libicu72{a} libidn2-dev{a} libimagequant0{a} libimath-3-1-29t64{a} libimport-into-perl{a} libindirect-perl{a} libinput-bin{a} libinput10{a} libio-html-perl{a} libio-interactive-perl{a} libio-socket-ssl-perl{a} libio-string-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-run3-perl{a} libipc-system-simple-perl{a} libiterator-perl{a} libiterator-util-perl{a} libjack-jackd2-0{a} libjbig0{a} libjpeg-dev{a} libjpeg62-turbo{a} libjpeg62-turbo-dev{a} libjson-maybexs-perl{a} libjson-perl{a} libjxl0.9{a} libk5crypto3{a} libkadm5clnt-mit12{a} libkadm5srv-mit12{a} libkdb5-10t64{a} libkeyutils1{a} libkpathsea6{a} libkrb5-3{a} libkrb5-dev{a} libkrb5support0{a} liblapack-dev{a} liblapack3{a} liblcms2-2{a} libldap-2.5-0{a} libldap-dev{a} liblerc4{a} liblist-compare-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} liblist-someutils-perl{a} liblist-utilsby-perl{a} libllvm19{a} liblog-any-adapter-screen-perl{a} liblog-any-perl{a} liblog-log4perl-perl{a} libltdl7{a} liblua5.4-0{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} liblz1{a} liblzo2-2{a} libmagic-mgc{a} libmagic1t64{a} libmailtools-perl{a} libmarkdown2{a} libmd4c0{a} libmime-tools-perl{a} libmldbm-perl{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-aliases-perl{a} libmouse-perl{a} libmousex-nativetraits-perl{a} libmousex-strictconstructor-perl{a} libmp3lame0{a} libmpfi0{a} libmpg123-0t64{a} libmro-compat-perl{a} libmtdev1t64{a} libnamespace-clean-perl{a} libncurses-dev{a} libncurses6{a} libnet-domain-tld-perl{a} libnet-http-perl{a} libnet-ipv6addr-perl{a} libnet-netmask-perl{a} libnet-smtp-ssl-perl{a} libnet-ssleay-perl{a} libnetaddr-ip-perl{a} libnghttp2-14{a} libnghttp2-dev{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libnsl2{a} libnumber-compare-perl{a} libobject-pad-perl{a} libogg0{a} libopenexr-3-1-30{a} libopengl0{a} libopus0{a} libp11-kit-dev{a} libpackage-stash-perl{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libpaper-utils{a} libpaper1{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-debcontrol-perl{a} libparse-recdescent-perl{a} libpath-iterator-rule-perl{a} libpath-tiny-perl{a} libpciaccess0{a} libpcre2-16-0{a} libperlio-gzip-perl{a} libperlio-utf8-strict-perl{a} libpipeline1{a} libpixman-1-0{a} libpkgconf3{a} libpng16-16t64{a} libpod-constants-perl{a} libpod-parser-perl{a} libpod-pom-perl{a} libportaudio2{a} libpotrace0{a} libproc-processtable-perl{a} libproc2-0{a} libproxy1v5{a} libpsl-dev{a} libpsl5t64{a} libptexenc1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libqhull-r8.0{a} libqrupdate1{a} libqscintilla2-qt6-15{a} libqscintilla2-qt6-l10n{a} libqt6core5compat6{a} libqt6core6t64{a} libqt6dbus6{a} libqt6gui6{a} libqt6help6{a} libqt6network6{a} libqt6opengl6{a} libqt6openglwidgets6{a} libqt6printsupport6{a} libqt6sql6{a} libqt6widgets6{a} libqt6xml6{a} libraqm0{a} librav1e0.7{a} libreadline-dev{a} libreadline8t64{a} libregexp-common-perl{a} libregexp-pattern-license-perl{a} libregexp-pattern-perl{a} libregexp-wildcards-perl{a} librole-tiny-perl{a} librtmp-dev{a} librtmp1{a} libsamplerate0{a} libsasl2-2{a} libsasl2-modules-db{a} libsensors-config{a} libsensors5{a} libsereal-decoder-perl{a} libsereal-encoder-perl{a} libset-intspan-perl{a} libsharpyuv0{a} libslicot0{a} libsm6{a} libsndfile1{a} libsoftware-copyright-perl{a} libsoftware-license-perl{a} libsoftware-licensemoreutils-perl{a} libsort-versions-perl{a} libspqr4{a} libssh2-1-dev{a} libssh2-1t64{a} libssl-dev{a} libstemmer0d{a} libstrictures-perl{a} libstring-copyright-perl{a} libstring-escape-perl{a} libstring-license-perl{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuitesparseconfig7{a} libsvtav1enc2{a} libsynctex2{a} libsyntax-keyword-try-perl{a} libsz2{a} libtasn1-6-dev{a} libteckit0{a} libterm-readkey-perl{a} libtest-exception-perl{a} libtexlua53-5{a} libtext-autoformat-perl{a} libtext-glob-perl{a} libtext-levenshtein-damerau-perl{a} libtext-levenshteinxs-perl{a} libtext-markdown-discount-perl{a} libtext-reform-perl{a} libtext-template-perl{a} libtext-unidecode-perl{a} libtext-xslate-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtime-duration-perl{a} libtime-moment-perl{a} libtimedate-perl{a} libtirpc-common{a} libtirpc3t64{a} libtoml-tiny-perl{a} libtool{a} libtry-tiny-perl{a} libts0t64{a} libuchardet0{a} libumfpack6{a} libunbound8{a} libunicode-utf8-perl{a} liburi-perl{a} libvariable-magic-perl{a} libvorbis0a{a} libvorbisenc2{a} libvulkan1{a} libwacom-common{a} libwacom9{a} libwayland-client0{a} libwayland-server0{a} libwebp7{a} libwebpmux3{a} libwmflite-0.2-7{a} libwww-mechanize-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libx11-6{a} libx11-data{a} libx11-dev{a} libx11-xcb1{a} libxau-dev{a} libxau6{a} libxaw7{a} libxcb-cursor0{a} libxcb-dri2-0{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a} libxcb-present0{a} libxcb-randr0{a} libxcb-render-util0{a} libxcb-render0{a} libxcb-shape0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-util1{a} libxcb-xfixes0{a} libxcb-xinput0{a} libxcb-xkb1{a} libxcb1{a} libxcb1-dev{a} libxcursor1{a} libxdmcp-dev{a} libxdmcp6{a} libxext6{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} libxmlb2{a} libxmu6{a} libxpm4{a} libxrender1{a} libxs-parse-keyword-perl{a} libxs-parse-sublike-perl{a} libxshmfence1{a} libxt6t64{a} libxxf86vm1{a} libyaml-0-2{a} libyaml-libyaml-perl{a} libyaml-pp-perl{a} libyaml-tiny-perl{a} libyuv0{a} libz3-4{a} libzstd-dev{a} libzzip-0-13t64{a} licensecheck{a} lintian{a} lzop{a} m4{a} man-db{a} media-types{a} mesa-libgallium{a} netbase{a} nettle-dev{a} octave{a} octave-common{a} octave-control{a} octave-dev{a} openssl{a} patchutils{a} perl-openssl-defaults{a} pkgconf{a} pkgconf-bin{a} plzip{a} po-debconf{a} procps{a} python3{a} python3-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} shared-mime-info{a} t1utils{a} tex-common{a} texinfo{a} texinfo-lib{a} texlive{a} texlive-base{a} texlive-binaries{a} texlive-fonts-recommended{a} texlive-latex-base{a} texlive-latex-recommended{a} tzdata{a} ucf{a} unzip{a} x11-common{a} x11proto-dev{a} xdg-utils{a} xkb-data{a} xorg-sgml-doctools{a} xtrans-dev{a} zlib1g-dev{a} The following packages are RECOMMENDED but will NOT be installed: alsa-topology-conf alsa-ucm-conf bash-completion curl dbus default-jre-headless dvisvgm epstool fonts-liberation fonts-urw-base35 ghostscript gnupg groff krb5-locales libarchive-cpio-perl libauthen-sasl-perl libblis4 libcgi-fast-perl libclass-c3-xs-perl libconfig-model-approx-perl libconfig-model-lcdproc-perl libconfig-model-openssh-perl libconfig-model-systemd-perl libconfig-model-tkui-perl libdata-dump-perl libfile-mimeinfo-perl libfreezethaw-perl libfuse-perl libglib2.0-data libgpm2 libheif-plugin-aomenc libheif-plugin-x265 libhtml-format-perl libhttp-daemon-perl libio-compress-brotli-perl libipc-shareable-perl libjson-xs-perl libldap-common liblist-someutils-xs-perl liblog-dispatch-perl libltdl-dev libmail-sendmail-perl libmath-base85-perl libnet-dbus-perl libopenblas0 libpackage-stash-xs-perl libqt6sql6-ibase libqt6sql6-mysql libqt6sql6-odbc libqt6sql6-psql libqt6sql6-sqlite libre-engine-re2-perl libsasl2-modules libsocket6-perl libtasn1-doc libtie-ixhash-perl libtypes-serialiser-perl libx11-protocol-perl libxml-sax-expat-perl libxstring-perl linux-sysctl-defaults lmodern lynx mesa-vulkan-drivers octave-doc psmisc pstoedit publicsuffix qt6-gtk-platformtheme qt6-qpa-plugins qt6-svg-plugins qt6-translations-l10n qt6-wayland tex-gyre tipa wget x11-utils x11-xserver-utils xdg-user-dirs 0 packages upgraded, 561 newly installed, 0 to remove and 0 not upgraded. Need to get 272 MB of archives. After unpacking 990 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main i386 libpython3.12-minimal i386 3.12.8-3 [816 kB] Get: 2 http://deb.debian.org/debian trixie/main i386 libexpat1 i386 2.6.4-1 [107 kB] Get: 3 http://deb.debian.org/debian trixie/main i386 python3.12-minimal i386 3.12.8-3 [2239 kB] Get: 4 http://deb.debian.org/debian trixie/main i386 python3-minimal i386 3.12.6-1 [26.7 kB] Get: 5 http://deb.debian.org/debian trixie/main i386 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main i386 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main i386 tzdata all 2024b-4 [256 kB] Get: 8 http://deb.debian.org/debian trixie/main i386 libkrb5support0 i386 1.21.3-3 [34.9 kB] Get: 9 http://deb.debian.org/debian trixie/main i386 libcom-err2 i386 1.47.2~rc1-2 [24.0 kB] Get: 10 http://deb.debian.org/debian trixie/main i386 libk5crypto3 i386 1.21.3-3 [83.6 kB] Get: 11 http://deb.debian.org/debian trixie/main i386 libkeyutils1 i386 1.6.3-4 [9600 B] Get: 12 http://deb.debian.org/debian trixie/main i386 libkrb5-3 i386 1.21.3-3 [350 kB] Get: 13 http://deb.debian.org/debian trixie/main i386 libgssapi-krb5-2 i386 1.21.3-3 [146 kB] Get: 14 http://deb.debian.org/debian trixie/main i386 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 15 http://deb.debian.org/debian trixie/main i386 libtirpc3t64 i386 1.3.4+ds-1.3+b1 [90.5 kB] Get: 16 http://deb.debian.org/debian trixie/main i386 libnsl2 i386 1.3.0-3+b3 [42.7 kB] Get: 17 http://deb.debian.org/debian trixie/main i386 readline-common all 8.2-5 [69.3 kB] Get: 18 http://deb.debian.org/debian trixie/main i386 libreadline8t64 i386 8.2-5 [173 kB] Get: 19 http://deb.debian.org/debian trixie/main i386 libpython3.12-stdlib i386 3.12.8-3 [1968 kB] Get: 20 http://deb.debian.org/debian trixie/main i386 python3.12 i386 3.12.8-3 [677 kB] Get: 21 http://deb.debian.org/debian trixie/main i386 libpython3-stdlib i386 3.12.6-1 [9692 B] Get: 22 http://deb.debian.org/debian trixie/main i386 python3 i386 3.12.6-1 [27.8 kB] Get: 23 http://deb.debian.org/debian trixie/main i386 libproc2-0 i386 2:4.0.4-6 [65.7 kB] Get: 24 http://deb.debian.org/debian trixie/main i386 procps i386 2:4.0.4-6 [876 kB] Get: 25 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 26 http://deb.debian.org/debian trixie/main i386 openssl i386 3.3.2-2 [1387 kB] Get: 27 http://deb.debian.org/debian trixie/main i386 ca-certificates all 20240203 [158 kB] Get: 28 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-3+b1 [314 kB] Get: 29 http://deb.debian.org/debian trixie/main i386 libmagic1t64 i386 1:5.45-3+b1 [115 kB] Get: 30 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-3+b1 [43.2 kB] Get: 31 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.22.5-2 [201 kB] Get: 32 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b2 [69.2 kB] Get: 33 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-6 [1198 kB] Get: 34 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.40.2-12 [95.9 kB] Get: 35 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 36 http://deb.debian.org/debian trixie/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 37 http://deb.debian.org/debian trixie/main i386 ucf all 3.0045 [45.2 kB] Get: 38 http://deb.debian.org/debian trixie/main i386 aglfn all 1.7+git20191031.4036a9c-2 [30.5 kB] Get: 39 http://deb.debian.org/debian trixie/main i386 libglib2.0-0t64 i386 2.82.3-2 [1572 kB] Get: 40 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-5+b1 [9583 kB] Get: 41 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.2+b1 [734 kB] Get: 42 http://deb.debian.org/debian trixie/main i386 shared-mime-info i386 2.4-5+b1 [761 kB] Get: 43 http://deb.debian.org/debian trixie/main i386 libbrotli1 i386 1.1.0-2+b6 [308 kB] Get: 44 http://deb.debian.org/debian trixie/main i386 libsasl2-modules-db i386 2.1.28+dfsg1-8 [20.6 kB] Get: 45 http://deb.debian.org/debian trixie/main i386 libsasl2-2 i386 2.1.28+dfsg1-8 [61.0 kB] Get: 46 http://deb.debian.org/debian trixie/main i386 libldap-2.5-0 i386 2.5.18+dfsg-3+b1 [200 kB] Get: 47 http://deb.debian.org/debian trixie/main i386 libnghttp2-14 i386 1.64.0-1 [82.4 kB] Get: 48 http://deb.debian.org/debian trixie/main i386 libnghttp3-9 i386 1.6.0-2 [75.9 kB] Get: 49 http://deb.debian.org/debian trixie/main i386 libngtcp2-16 i386 1.9.1-1 [151 kB] Get: 50 http://deb.debian.org/debian trixie/main i386 libngtcp2-crypto-gnutls8 i386 1.9.1-1 [19.1 kB] Get: 51 http://deb.debian.org/debian trixie/main i386 libpsl5t64 i386 0.21.2-1.1+b1 [57.7 kB] Get: 52 http://deb.debian.org/debian trixie/main i386 librtmp1 i386 2.4+20151223.gitfa8646d.1-2+b5 [62.4 kB] Get: 53 http://deb.debian.org/debian trixie/main i386 libssh2-1t64 i386 1.11.1-1 [256 kB] Get: 54 http://deb.debian.org/debian trixie/main i386 libcurl3t64-gnutls i386 8.11.1-1 [404 kB] Get: 55 http://deb.debian.org/debian trixie/main i386 libstemmer0d i386 2.2.0-4+b2 [113 kB] Get: 56 http://deb.debian.org/debian trixie/main i386 libxmlb2 i386 0.3.21-1 [68.9 kB] Get: 57 http://deb.debian.org/debian trixie/main i386 libyaml-0-2 i386 0.2.5-1+b2 [56.0 kB] Get: 58 http://deb.debian.org/debian trixie/main i386 libappstream5 i386 1.0.4-1 [242 kB] Get: 59 http://deb.debian.org/debian trixie/main i386 appstream i386 1.0.4-1 [524 kB] Get: 60 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-4 [293 kB] Get: 61 http://deb.debian.org/debian trixie/main i386 autoconf all 2.72-3 [493 kB] Get: 62 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 63 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 64 http://deb.debian.org/debian trixie/main i386 autopoint all 0.22.5-2 [723 kB] Get: 65 http://deb.debian.org/debian trixie/main i386 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 66 http://deb.debian.org/debian trixie/main i386 libparams-util-perl i386 1.102-3+b1 [24.7 kB] Get: 67 http://deb.debian.org/debian trixie/main i386 libsub-install-perl all 0.929-1 [10.5 kB] Get: 68 http://deb.debian.org/debian trixie/main i386 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 69 http://deb.debian.org/debian trixie/main i386 libb-hooks-op-check-perl i386 0.22-3+b2 [10.7 kB] Get: 70 http://deb.debian.org/debian trixie/main i386 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 71 http://deb.debian.org/debian trixie/main i386 libdevel-callchecker-perl i386 0.009-1+b1 [16.2 kB] Get: 72 http://deb.debian.org/debian trixie/main i386 libparams-classify-perl i386 0.015-2+b4 [23.1 kB] Get: 73 http://deb.debian.org/debian trixie/main i386 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 74 http://deb.debian.org/debian trixie/main i386 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 75 http://deb.debian.org/debian trixie/main i386 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 76 http://deb.debian.org/debian trixie/main i386 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 77 http://deb.debian.org/debian trixie/main i386 libclass-load-perl all 0.25-2 [15.3 kB] Get: 78 http://deb.debian.org/debian trixie/main i386 libio-stringy-perl all 2.113-2 [48.3 kB] Get: 79 http://deb.debian.org/debian trixie/main i386 libparams-validate-perl i386 1.31-2+b3 [64.9 kB] Get: 80 http://deb.debian.org/debian trixie/main i386 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 81 http://deb.debian.org/debian trixie/main i386 libgetopt-long-descriptive-perl all 0.115-1 [27.6 kB] Get: 82 http://deb.debian.org/debian trixie/main i386 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get: 83 http://deb.debian.org/debian trixie/main i386 libmodule-pluggable-perl all 5.2-5 [23.0 kB] Get: 84 http://deb.debian.org/debian trixie/main i386 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get: 85 http://deb.debian.org/debian trixie/main i386 libapp-cmd-perl all 0.336-1 [65.8 kB] Get: 86 http://deb.debian.org/debian trixie/main i386 libboolean-perl all 0.46-3 [9924 B] Get: 87 http://deb.debian.org/debian trixie/main i386 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 88 http://deb.debian.org/debian trixie/main i386 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 89 http://deb.debian.org/debian trixie/main i386 libcarp-assert-more-perl all 2.5.0-1 [20.5 kB] Get: 90 http://deb.debian.org/debian trixie/main i386 libfile-which-perl all 1.27-2 [15.1 kB] Get: 91 http://deb.debian.org/debian trixie/main i386 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 92 http://deb.debian.org/debian trixie/main i386 libclone-choose-perl all 0.010-2 [8676 B] Get: 93 http://deb.debian.org/debian trixie/main i386 libhash-merge-perl all 0.302-1 [14.7 kB] Get: 94 http://deb.debian.org/debian trixie/main i386 libjson-perl all 4.10000-1 [87.5 kB] Get: 95 http://deb.debian.org/debian trixie/main i386 libexporter-tiny-perl all 1.006002-1 [38.7 kB] Get: 96 http://deb.debian.org/debian trixie/main i386 liblist-moreutils-xs-perl i386 0.430-4+b2 [45.1 kB] Get: 97 http://deb.debian.org/debian trixie/main i386 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 98 http://deb.debian.org/debian trixie/main i386 liblog-log4perl-perl all 1.57-1 [367 kB] Get: 99 http://deb.debian.org/debian trixie/main i386 libmouse-perl i386 2.5.11-1+b1 [146 kB] Get: 100 http://deb.debian.org/debian trixie/main i386 libmousex-nativetraits-perl all 1.09-3 [53.5 kB] Get: 101 http://deb.debian.org/debian trixie/main i386 libmousex-strictconstructor-perl all 0.02-3 [5304 B] Get: 102 http://deb.debian.org/debian trixie/main i386 libparse-recdescent-perl all 1.967015+dfsg-4 [147 kB] Get: 103 http://deb.debian.org/debian trixie/main i386 libpath-tiny-perl all 0.146-1 [56.2 kB] Get: 104 http://deb.debian.org/debian trixie/main i386 libpod-pom-perl all 2.01-4 [65.0 kB] Get: 105 http://deb.debian.org/debian trixie/main i386 libregexp-common-perl all 2024080801-1 [167 kB] Get: 106 http://deb.debian.org/debian trixie/main i386 libyaml-tiny-perl all 1.74-1 [30.7 kB] Get: 107 http://deb.debian.org/debian trixie/main i386 libconfig-model-perl all 2.155-1 [398 kB] Get: 108 http://deb.debian.org/debian trixie/main i386 libyaml-pp-perl all 0.38.0-1 [109 kB] Get: 109 http://deb.debian.org/debian trixie/main i386 cme all 1.041-1 [69.6 kB] Get: 110 http://deb.debian.org/debian trixie/main i386 comerr-dev i386 2.1-1.47.2~rc1-2 [55.9 kB] Get: 111 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.20 [89.7 kB] Get: 112 http://deb.debian.org/debian trixie/main i386 libtool all 2.4.7-8 [517 kB] Get: 113 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB] Get: 114 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 115 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 116 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 117 http://deb.debian.org/debian trixie/main i386 libelf1t64 i386 0.192-4 [195 kB] Get: 118 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 119 http://deb.debian.org/debian trixie/main i386 gettext i386 0.22.5-2 [1631 kB] Get: 120 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 121 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 122 http://deb.debian.org/debian trixie/main i386 debhelper all 13.20 [915 kB] Get: 123 http://deb.debian.org/debian trixie/main i386 gnuplot-data all 6.0.0+dfsg1-3 [72.3 kB] Get: 124 http://deb.debian.org/debian trixie/main i386 libpng16-16t64 i386 1.6.44-2 [288 kB] Get: 125 http://deb.debian.org/debian trixie/main i386 libfreetype6 i386 2.13.3+dfsg-1 [464 kB] Get: 126 http://deb.debian.org/debian trixie/main i386 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 127 http://deb.debian.org/debian trixie/main i386 fonts-dejavu-core all 2.37-8 [840 kB] Get: 128 http://deb.debian.org/debian trixie/main i386 fonts-freefont-otf all 20211204+svn4273-2 [4328 kB] Get: 129 http://deb.debian.org/debian trixie/main i386 fontconfig-config i386 2.15.0-1.1+b1 [318 kB] Get: 130 http://deb.debian.org/debian trixie/main i386 libfontconfig1 i386 2.15.0-1.1+b1 [402 kB] Get: 131 http://deb.debian.org/debian trixie/main i386 libpixman-1-0 i386 0.44.0-3 [246 kB] Get: 132 http://deb.debian.org/debian trixie/main i386 libxau6 i386 1:1.0.11-1 [20.7 kB] Get: 133 http://deb.debian.org/debian trixie/main i386 libxdmcp6 i386 1:1.1.5-1 [28.2 kB] Get: 134 http://deb.debian.org/debian trixie/main i386 libxcb1 i386 1.17.0-2+b1 [148 kB] Get: 135 http://deb.debian.org/debian trixie/main i386 libx11-data all 2:1.8.10-2 [337 kB] Get: 136 http://deb.debian.org/debian trixie/main i386 libx11-6 i386 2:1.8.10-2 [834 kB] Get: 137 http://deb.debian.org/debian trixie/main i386 libxcb-render0 i386 1.17.0-2+b1 [116 kB] Get: 138 http://deb.debian.org/debian trixie/main i386 libxcb-shm0 i386 1.17.0-2+b1 [105 kB] Get: 139 http://deb.debian.org/debian trixie/main i386 libxext6 i386 2:1.3.4-1+b2 [52.6 kB] Get: 140 http://deb.debian.org/debian trixie/main i386 libxrender1 i386 1:0.9.10-1.1+b2 [28.9 kB] Get: 141 http://deb.debian.org/debian trixie/main i386 libcairo2 i386 1.18.2-2 [591 kB] Get: 142 http://deb.debian.org/debian trixie/main i386 libedit2 i386 3.1-20240808-1 [98.0 kB] Get: 143 http://deb.debian.org/debian trixie/main i386 libaom3 i386 3.11.0-1 [1915 kB] Get: 144 http://deb.debian.org/debian trixie/main i386 libdav1d7 i386 1.5.0-1+b1 [327 kB] Get: 145 http://deb.debian.org/debian trixie/main i386 libabsl20230802 i386 20230802.1-4 [521 kB] Get: 146 http://deb.debian.org/debian trixie/main i386 libgav1-1 i386 0.19.0-2+b2 [326 kB] Get: 147 http://deb.debian.org/debian trixie/main i386 librav1e0.7 i386 0.7.1-7+b2 [667 kB] Get: 148 http://deb.debian.org/debian trixie/main i386 libsvtav1enc2 i386 2.2.1+dfsg-2 [1040 kB] Get: 149 http://deb.debian.org/debian trixie/main i386 libjpeg62-turbo i386 1:2.1.5-3+b1 [171 kB] Get: 150 http://deb.debian.org/debian trixie/main i386 libyuv0 i386 0.0.1898.20241125-1 [111 kB] Get: 151 http://deb.debian.org/debian trixie/main i386 libavif16 i386 1.1.1-1 [124 kB] Get: 152 http://deb.debian.org/debian trixie/main i386 libsharpyuv0 i386 1.4.0-0.1+b1 [113 kB] Get: 153 http://deb.debian.org/debian trixie/main i386 libheif-plugin-dav1d i386 1.19.3-1 [11.5 kB] Get: 154 http://deb.debian.org/debian trixie/main i386 libde265-0 i386 1.0.15-1+b2 [199 kB] Get: 155 http://deb.debian.org/debian trixie/main i386 libheif-plugin-libde265 i386 1.19.3-1 [15.6 kB] Get: 156 http://deb.debian.org/debian trixie/main i386 libheif1 i386 1.19.3-1 [515 kB] Get: 157 http://deb.debian.org/debian trixie/main i386 libimagequant0 i386 2.18.0-1+b2 [36.0 kB] Get: 158 http://deb.debian.org/debian trixie/main i386 libfribidi0 i386 1.0.16-1 [27.0 kB] Get: 159 http://deb.debian.org/debian trixie/main i386 libgraphite2-3 i386 1.3.14-2+b1 [77.8 kB] Get: 160 http://deb.debian.org/debian trixie/main i386 libharfbuzz0b i386 10.1.0-1 [503 kB] Get: 161 http://deb.debian.org/debian trixie/main i386 libraqm0 i386 0.10.2-1 [14.6 kB] Get: 162 http://deb.debian.org/debian trixie/main i386 libdeflate0 i386 1.22-1 [48.1 kB] Get: 163 http://deb.debian.org/debian trixie/main i386 libjbig0 i386 2.1-6.1+b2 [32.2 kB] Get: 164 http://deb.debian.org/debian trixie/main i386 liblerc4 i386 4.0.0+ds-5 [191 kB] Get: 165 http://deb.debian.org/debian trixie/main i386 libwebp7 i386 1.4.0-0.1+b1 [322 kB] Get: 166 http://deb.debian.org/debian trixie/main i386 libtiff6 i386 4.5.1+git230720-5 [339 kB] Get: 167 http://deb.debian.org/debian trixie/main i386 libxpm4 i386 1:3.5.17-1+b2 [58.3 kB] Get: 168 http://deb.debian.org/debian trixie/main i386 libgd3 i386 2.3.3-12+b1 [131 kB] Get: 169 http://deb.debian.org/debian trixie/main i386 liblua5.4-0 i386 5.4.7-1+b1 [170 kB] Get: 170 http://deb.debian.org/debian trixie/main i386 fontconfig i386 2.15.0-1.1+b1 [463 kB] Get: 171 http://deb.debian.org/debian trixie/main i386 libthai-data all 0.1.29-2 [168 kB] Get: 172 http://deb.debian.org/debian trixie/main i386 libdatrie1 i386 0.2.13-3+b1 [39.9 kB] Get: 173 http://deb.debian.org/debian trixie/main i386 libthai0 i386 0.1.29-2+b1 [50.3 kB] Get: 174 http://deb.debian.org/debian trixie/main i386 libpango-1.0-0 i386 1.55.0+ds-3 [233 kB] Get: 175 http://deb.debian.org/debian trixie/main i386 libpangoft2-1.0-0 i386 1.55.0+ds-3 [58.2 kB] Get: 176 http://deb.debian.org/debian trixie/main i386 libpangocairo-1.0-0 i386 1.55.0+ds-3 [36.2 kB] Get: 177 http://deb.debian.org/debian trixie/main i386 libwebpmux3 i386 1.4.0-0.1+b1 [125 kB] Get: 178 http://deb.debian.org/debian trixie/main i386 gnuplot-nox i386 6.0.0+dfsg1-3 [925 kB] Get: 179 http://deb.debian.org/debian trixie/main i386 dh-octave-autopkgtest all 1.8.0 [10.0 kB] Get: 180 http://deb.debian.org/debian trixie/main i386 libapt-pkg-perl i386 0.1.40+b6 [69.5 kB] Get: 181 http://deb.debian.org/debian trixie/main i386 libarray-intspan-perl all 2.004-2 [25.7 kB] Get: 182 http://deb.debian.org/debian trixie/main i386 libyaml-libyaml-perl i386 0.902.0+ds-2+b1 [36.6 kB] Get: 183 http://deb.debian.org/debian trixie/main i386 libconfig-model-backend-yaml-perl all 2.134-2 [10.8 kB] Get: 184 http://deb.debian.org/debian trixie/main i386 libexporter-lite-perl all 0.09-2 [10.7 kB] Get: 185 http://deb.debian.org/debian trixie/main i386 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 186 http://deb.debian.org/debian trixie/main i386 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 187 http://deb.debian.org/debian trixie/main i386 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 188 http://deb.debian.org/debian trixie/main i386 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 189 http://deb.debian.org/debian trixie/main i386 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 190 http://deb.debian.org/debian trixie/main i386 liburi-perl all 5.30-1 [105 kB] Get: 191 http://deb.debian.org/debian trixie/main i386 libhtml-parser-perl i386 3.83-1+b1 [101 kB] Get: 192 http://deb.debian.org/debian trixie/main i386 libhtml-tree-perl all 5.07-3 [211 kB] Get: 193 http://deb.debian.org/debian trixie/main i386 libclone-perl i386 0.47-1+b1 [14.0 kB] Get: 194 http://deb.debian.org/debian trixie/main i386 libio-html-perl all 1.004-3 [16.2 kB] Get: 195 http://deb.debian.org/debian trixie/main i386 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 196 http://deb.debian.org/debian trixie/main i386 libhttp-message-perl all 7.00-2 [79.8 kB] Get: 197 http://deb.debian.org/debian trixie/main i386 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 198 http://deb.debian.org/debian trixie/main i386 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 199 http://deb.debian.org/debian trixie/main i386 perl-openssl-defaults i386 7+b2 [6720 B] Get: 200 http://deb.debian.org/debian trixie/main i386 libnet-ssleay-perl i386 1.94-2 [340 kB] Get: 201 http://deb.debian.org/debian trixie/main i386 libio-socket-ssl-perl all 2.089-1 [223 kB] Get: 202 http://deb.debian.org/debian trixie/main i386 libnet-http-perl all 6.23-1 [23.9 kB] Get: 203 http://deb.debian.org/debian trixie/main i386 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 204 http://deb.debian.org/debian trixie/main i386 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 205 http://deb.debian.org/debian trixie/main i386 libwww-perl all 6.77-1 [183 kB] Get: 206 http://deb.debian.org/debian trixie/main i386 liberror-perl all 0.17029-2 [29.0 kB] Get: 207 http://deb.debian.org/debian trixie/main i386 libparse-debcontrol-perl all 2.005-6 [21.6 kB] Get: 208 http://deb.debian.org/debian trixie/main i386 libsoftware-copyright-perl all 0.012-2 [18.0 kB] Get: 209 http://deb.debian.org/debian trixie/main i386 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 210 http://deb.debian.org/debian trixie/main i386 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 211 http://deb.debian.org/debian trixie/main i386 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 212 http://deb.debian.org/debian trixie/main i386 libdata-section-perl all 0.200008-1 [13.1 kB] Get: 213 http://deb.debian.org/debian trixie/main i386 libtext-template-perl all 1.61-1 [54.4 kB] Get: 214 http://deb.debian.org/debian trixie/main i386 libsoftware-license-perl all 0.104006-1 [116 kB] Get: 215 http://deb.debian.org/debian trixie/main i386 libsoftware-licensemoreutils-perl all 1.009-1 [22.0 kB] Get: 216 http://deb.debian.org/debian trixie/main i386 libsort-versions-perl all 1.62-3 [8928 B] Get: 217 http://deb.debian.org/debian trixie/main i386 libtext-reform-perl all 1.20-5 [36.0 kB] Get: 218 http://deb.debian.org/debian trixie/main i386 libtext-autoformat-perl all 1.750000-2 [35.2 kB] Get: 219 http://deb.debian.org/debian trixie/main i386 libtext-levenshtein-damerau-perl all 0.41-3 [12.3 kB] Get: 220 http://deb.debian.org/debian trixie/main i386 libtoml-tiny-perl all 0.18-1 [23.0 kB] Get: 221 http://deb.debian.org/debian trixie/main i386 libclass-inspector-perl all 1.36-3 [17.5 kB] Get: 222 http://deb.debian.org/debian trixie/main i386 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get: 223 http://deb.debian.org/debian trixie/main i386 libindirect-perl i386 0.39-2+b4 [28.1 kB] Get: 224 http://deb.debian.org/debian trixie/main i386 libxs-parse-keyword-perl i386 0.47-1 [66.6 kB] Get: 225 http://deb.debian.org/debian trixie/main i386 libxs-parse-sublike-perl i386 0.30-1 [45.3 kB] Get: 226 http://deb.debian.org/debian trixie/main i386 libobject-pad-perl i386 0.816-1 [141 kB] Get: 227 http://deb.debian.org/debian trixie/main i386 libfeature-compat-class-perl all 0.07-1 [11.5 kB] Get: 228 http://deb.debian.org/debian trixie/main i386 libsyntax-keyword-try-perl i386 0.30-1+b1 [27.7 kB] Get: 229 http://deb.debian.org/debian trixie/main i386 libfeature-compat-try-perl all 0.05-1 [10.4 kB] Get: 230 http://deb.debian.org/debian trixie/main i386 libio-interactive-perl all 1.025-1 [11.4 kB] Get: 231 http://deb.debian.org/debian trixie/main i386 liblog-any-perl all 1.717-1 [78.9 kB] Get: 232 http://deb.debian.org/debian trixie/main i386 liblog-any-adapter-screen-perl all 0.141-1 [14.0 kB] Get: 233 http://deb.debian.org/debian trixie/main i386 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 234 http://deb.debian.org/debian trixie/main i386 libvariable-magic-perl i386 0.64-1+b1 [45.8 kB] Get: 235 http://deb.debian.org/debian trixie/main i386 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB] Get: 236 http://deb.debian.org/debian trixie/main i386 libsub-identify-perl i386 0.14-3+b3 [11.2 kB] Get: 237 http://deb.debian.org/debian trixie/main i386 libsub-name-perl i386 0.27-1+b3 [12.6 kB] Get: 238 http://deb.debian.org/debian trixie/main i386 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 239 http://deb.debian.org/debian trixie/main i386 libnumber-compare-perl all 0.03-3 [6332 B] Get: 240 http://deb.debian.org/debian trixie/main i386 libtext-glob-perl all 0.11-3 [7676 B] Get: 241 http://deb.debian.org/debian trixie/main i386 libpath-iterator-rule-perl all 1.015-2 [41.7 kB] Get: 242 http://deb.debian.org/debian trixie/main i386 libpod-parser-perl all 1.67-1 [94.1 kB] Get: 243 http://deb.debian.org/debian trixie/main i386 libpod-constants-perl all 0.19-2 [17.3 kB] Get: 244 http://deb.debian.org/debian trixie/main i386 libset-intspan-perl all 1.19-3 [25.3 kB] Get: 245 http://deb.debian.org/debian trixie/main i386 libstring-copyright-perl all 0.003014-1 [23.4 kB] Get: 246 http://deb.debian.org/debian trixie/main i386 libstring-escape-perl all 2010.002-3 [18.7 kB] Get: 247 http://deb.debian.org/debian trixie/main i386 libregexp-pattern-license-perl all 3.11.2-1 [94.6 kB] Get: 248 http://deb.debian.org/debian trixie/main i386 libregexp-pattern-perl all 0.2.14-2 [18.7 kB] Get: 249 http://deb.debian.org/debian trixie/main i386 libstring-license-perl all 0.0.11-1 [34.7 kB] Get: 250 http://deb.debian.org/debian trixie/main i386 licensecheck all 3.3.9-1 [50.1 kB] Get: 251 http://deb.debian.org/debian trixie/main i386 diffstat i386 1.67-1 [36.1 kB] Get: 252 http://deb.debian.org/debian trixie/main i386 libassuan9 i386 3.0.1-2 [62.4 kB] Get: 253 http://deb.debian.org/debian trixie/main i386 gpgconf i386 2.2.45-2 [127 kB] Get: 254 http://deb.debian.org/debian trixie/main i386 gpg i386 2.2.45-2 [573 kB] Get: 255 http://deb.debian.org/debian trixie/main i386 iso-codes all 4.17.0-1 [3055 kB] Get: 256 http://deb.debian.org/debian trixie/main i386 libberkeleydb-perl i386 0.66-1 [126 kB] Get: 257 http://deb.debian.org/debian trixie/main i386 libclass-xsaccessor-perl i386 1.19-4+b4 [37.5 kB] Get: 258 http://deb.debian.org/debian trixie/main i386 libconfig-tiny-perl all 2.30-1 [18.9 kB] Get: 259 http://deb.debian.org/debian trixie/main i386 libconst-fast-perl all 0.014-2 [8792 B] Get: 260 http://deb.debian.org/debian trixie/main i386 libcpanel-json-xs-perl i386 4.38-1+b1 [134 kB] Get: 261 http://deb.debian.org/debian trixie/main i386 libaliased-perl all 0.34-3 [13.5 kB] Get: 262 http://deb.debian.org/debian trixie/main i386 libclass-data-inheritable-perl all 0.10-1 [8632 B] Get: 263 http://deb.debian.org/debian trixie/main i386 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get: 264 http://deb.debian.org/debian trixie/main i386 libexception-class-perl all 1.45-1 [34.6 kB] Get: 265 http://deb.debian.org/debian trixie/main i386 libiterator-perl all 0.03+ds1-2 [18.8 kB] Get: 266 http://deb.debian.org/debian trixie/main i386 libiterator-util-perl all 0.02+ds1-2 [14.0 kB] Get: 267 http://deb.debian.org/debian trixie/main i386 libdata-dpath-perl all 0.60-1 [41.8 kB] Get: 268 http://deb.debian.org/debian trixie/main i386 libnet-domain-tld-perl all 1.75-4 [31.5 kB] Get: 269 http://deb.debian.org/debian trixie/main i386 libdata-validate-domain-perl all 0.15-1 [11.9 kB] Get: 270 http://deb.debian.org/debian trixie/main i386 libnet-ipv6addr-perl all 1.02-1 [21.7 kB] Get: 271 http://deb.debian.org/debian trixie/main i386 libnet-netmask-perl all 2.0002-2 [28.6 kB] Get: 272 http://deb.debian.org/debian trixie/main i386 libnetaddr-ip-perl i386 4.079+dfsg-2+b4 [98.8 kB] Get: 273 http://deb.debian.org/debian trixie/main i386 libdata-validate-ip-perl all 0.31-1 [20.6 kB] Get: 274 http://deb.debian.org/debian trixie/main i386 libdata-validate-uri-perl all 0.07-3 [11.0 kB] Get: 275 http://deb.debian.org/debian trixie/main i386 libdevel-size-perl i386 0.84-1+b1 [24.6 kB] Get: 276 http://deb.debian.org/debian trixie/main i386 libemail-address-xs-perl i386 1.05-1+b4 [30.3 kB] Get: 277 http://deb.debian.org/debian trixie/main i386 libipc-system-simple-perl all 1.30-2 [26.8 kB] Get: 278 http://deb.debian.org/debian trixie/main i386 libfile-basedir-perl all 0.09-2 [15.1 kB] Get: 279 http://deb.debian.org/debian trixie/main i386 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 280 http://deb.debian.org/debian trixie/main i386 libio-string-perl all 1.08-4 [12.1 kB] Get: 281 http://deb.debian.org/debian trixie/main i386 libfont-ttf-perl all 1.06-2 [318 kB] Get: 282 http://deb.debian.org/debian trixie/main i386 libhtml-html5-entities-perl all 0.004-3 [21.0 kB] Get: 283 http://deb.debian.org/debian trixie/main i386 libhtml-tokeparser-simple-perl all 3.16-4 [39.1 kB] Get: 284 http://deb.debian.org/debian trixie/main i386 libipc-run3-perl all 0.049-1 [31.5 kB] Get: 285 http://deb.debian.org/debian trixie/main i386 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get: 286 http://deb.debian.org/debian trixie/main i386 liblist-compare-perl all 0.55-2 [65.7 kB] Get: 287 http://deb.debian.org/debian trixie/main i386 liblist-someutils-perl all 0.59-1 [37.1 kB] Get: 288 http://deb.debian.org/debian trixie/main i386 liblist-utilsby-perl all 0.12-2 [15.5 kB] Get: 289 http://deb.debian.org/debian trixie/main i386 libmldbm-perl all 2.05-4 [16.8 kB] Get: 290 http://deb.debian.org/debian trixie/main i386 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 291 http://deb.debian.org/debian trixie/main i386 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 292 http://deb.debian.org/debian trixie/main i386 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 293 http://deb.debian.org/debian trixie/main i386 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 294 http://deb.debian.org/debian trixie/main i386 libmoo-perl all 2.005005-1 [58.0 kB] Get: 295 http://deb.debian.org/debian trixie/main i386 libstrictures-perl all 2.000006-1 [18.6 kB] Get: 296 http://deb.debian.org/debian trixie/main i386 libmoox-aliases-perl all 0.001006-2 [7156 B] Get: 297 http://deb.debian.org/debian trixie/main i386 libperlio-gzip-perl i386 0.20-1+b4 [17.9 kB] Get: 298 http://deb.debian.org/debian trixie/main i386 libperlio-utf8-strict-perl i386 0.010-1+b3 [11.6 kB] Get: 299 http://deb.debian.org/debian trixie/main i386 libproc-processtable-perl i386 0.636-1+b3 [42.4 kB] Get: 300 http://deb.debian.org/debian trixie/main i386 libregexp-wildcards-perl all 1.05-3 [14.1 kB] Get: 301 http://deb.debian.org/debian trixie/main i386 libsereal-decoder-perl i386 5.004+ds-1+b3 [107 kB] Get: 302 http://deb.debian.org/debian trixie/main i386 libsereal-encoder-perl i386 5.004+ds-1+b3 [111 kB] Get: 303 http://deb.debian.org/debian trixie/main i386 libterm-readkey-perl i386 2.38-2+b4 [25.4 kB] Get: 304 http://deb.debian.org/debian trixie/main i386 libtext-levenshteinxs-perl i386 0.03-5+b4 [8636 B] Get: 305 http://deb.debian.org/debian trixie/main i386 libmarkdown2 i386 2.2.7-2.1 [37.9 kB] Get: 306 http://deb.debian.org/debian trixie/main i386 libtext-markdown-discount-perl i386 0.16-1+b3 [13.2 kB] Get: 307 http://deb.debian.org/debian trixie/main i386 libdata-messagepack-perl i386 1.02-1+b4 [33.2 kB] Get: 308 http://deb.debian.org/debian trixie/main i386 libtext-xslate-perl i386 3.5.9-2+b1 [177 kB] Get: 309 http://deb.debian.org/debian trixie/main i386 libtime-duration-perl all 1.21-2 [13.1 kB] Get: 310 http://deb.debian.org/debian trixie/main i386 libtime-moment-perl i386 0.44-2+b4 [79.8 kB] Get: 311 http://deb.debian.org/debian trixie/main i386 libunicode-utf8-perl i386 0.62-2+b3 [21.1 kB] Get: 312 http://deb.debian.org/debian trixie/main i386 libcgi-pm-perl all 4.66-1 [217 kB] Get: 313 http://deb.debian.org/debian trixie/main i386 libhtml-form-perl all 6.12-1 [32.3 kB] Get: 314 http://deb.debian.org/debian trixie/main i386 libwww-mechanize-perl all 2.19-1 [114 kB] Get: 315 http://deb.debian.org/debian trixie/main i386 libxml-namespacesupport-perl all 1.12-2 [15.1 kB] Get: 316 http://deb.debian.org/debian trixie/main i386 libxml-sax-base-perl all 1.09-3 [20.6 kB] Get: 317 http://deb.debian.org/debian trixie/main i386 libxml-sax-perl all 1.02+dfsg-4 [53.4 kB] Get: 318 http://deb.debian.org/debian trixie/main i386 libxml-libxml-perl i386 2.0207+dfsg+really+2.0134-5+b1 [324 kB] Get: 319 http://deb.debian.org/debian trixie/main i386 liblz1 i386 1.15~rc1-1 [39.2 kB] Get: 320 http://deb.debian.org/debian trixie/main i386 plzip i386 1.12~rc1-1 [69.5 kB] Get: 321 http://deb.debian.org/debian trixie/main i386 liblzo2-2 i386 2.10-3+b1 [59.5 kB] Get: 322 http://deb.debian.org/debian trixie/main i386 lzop i386 1.04-2 [87.8 kB] Get: 323 http://deb.debian.org/debian trixie/main i386 patchutils i386 0.4.2-1 [79.6 kB] Get: 324 http://deb.debian.org/debian trixie/main i386 t1utils i386 1.41-4 [62.3 kB] Get: 325 http://deb.debian.org/debian trixie/main i386 unzip i386 6.0-28 [166 kB] Get: 326 http://deb.debian.org/debian trixie/main i386 lintian all 2.121.1 [1058 kB] Get: 327 http://deb.debian.org/debian trixie/main i386 libconfig-model-dpkg-perl all 3.006 [174 kB] Get: 328 http://deb.debian.org/debian trixie/main i386 libconvert-binhex-perl all 1.125-3 [27.4 kB] Get: 329 http://deb.debian.org/debian trixie/main i386 libnet-smtp-ssl-perl all 1.04-2 [6548 B] Get: 330 http://deb.debian.org/debian trixie/main i386 libmailtools-perl all 2.22-1 [88.8 kB] Get: 331 http://deb.debian.org/debian trixie/main i386 libmime-tools-perl all 5.515-1 [203 kB] Get: 332 http://deb.debian.org/debian trixie/main i386 libsuitesparseconfig7 i386 1:7.8.3+dfsg-2 [24.0 kB] Get: 333 http://deb.debian.org/debian trixie/main i386 libamd3 i386 1:7.8.3+dfsg-2 [43.5 kB] Get: 334 http://deb.debian.org/debian trixie/main i386 libblas3 i386 3.12.0-4 [143 kB] Get: 335 http://deb.debian.org/debian trixie/main i386 libgfortran5 i386 14.2.0-8 [735 kB] Get: 336 http://deb.debian.org/debian trixie/main i386 liblapack3 i386 3.12.0-4 [2194 kB] Get: 337 http://deb.debian.org/debian trixie/main i386 libarpack2t64 i386 3.9.1-4 [102 kB] Get: 338 http://deb.debian.org/debian trixie/main i386 libccolamd3 i386 1:7.8.3+dfsg-2 [43.2 kB] Get: 339 http://deb.debian.org/debian trixie/main i386 libcamd3 i386 1:7.8.3+dfsg-2 [41.1 kB] Get: 340 http://deb.debian.org/debian trixie/main i386 libcolamd3 i386 1:7.8.3+dfsg-2 [35.6 kB] Get: 341 http://deb.debian.org/debian trixie/main i386 libcholmod5 i386 1:7.8.3+dfsg-2 [733 kB] Get: 342 http://deb.debian.org/debian trixie/main i386 libcxsparse4 i386 1:7.8.3+dfsg-2 [102 kB] Get: 343 http://deb.debian.org/debian trixie/main i386 libfftw3-double3 i386 3.3.10-2+b1 [629 kB] Get: 344 http://deb.debian.org/debian trixie/main i386 libfftw3-single3 i386 3.3.10-2+b1 [646 kB] Get: 345 http://deb.debian.org/debian trixie/main i386 libxfixes3 i386 1:6.0.0-2+b2 [20.7 kB] Get: 346 http://deb.debian.org/debian trixie/main i386 libxcursor1 i386 1:1.2.2-1+b1 [38.9 kB] Get: 347 http://deb.debian.org/debian trixie/main i386 libxft2 i386 2.3.6-1+b2 [55.3 kB] Get: 348 http://deb.debian.org/debian trixie/main i386 libxinerama1 i386 2:1.1.4-3+b2 [16.3 kB] Get: 349 http://deb.debian.org/debian trixie/main i386 libfltk1.3t64 i386 1.3.8-6.1+b1 [582 kB] Get: 350 http://deb.debian.org/debian trixie/main i386 libglvnd0 i386 1.7.0-1+b2 [44.1 kB] Get: 351 http://deb.debian.org/debian trixie/main i386 libdrm-common all 2.4.123-1 [8084 B] Get: 352 http://deb.debian.org/debian trixie/main i386 libdrm2 i386 2.4.123-1 [41.8 kB] Get: 353 http://deb.debian.org/debian trixie/main i386 libglapi-mesa i386 24.2.8-1 [37.8 kB] Get: 354 http://deb.debian.org/debian trixie/main i386 libx11-xcb1 i386 2:1.8.10-2 [241 kB] Get: 355 http://deb.debian.org/debian trixie/main i386 libxcb-dri2-0 i386 1.17.0-2+b1 [107 kB] Get: 356 http://deb.debian.org/debian trixie/main i386 libxcb-dri3-0 i386 1.17.0-2+b1 [107 kB] Get: 357 http://deb.debian.org/debian trixie/main i386 libxcb-glx0 i386 1.17.0-2+b1 [124 kB] Get: 358 http://deb.debian.org/debian trixie/main i386 libxcb-present0 i386 1.17.0-2+b1 [106 kB] Get: 359 http://deb.debian.org/debian trixie/main i386 libxcb-randr0 i386 1.17.0-2+b1 [118 kB] Get: 360 http://deb.debian.org/debian trixie/main i386 libxcb-sync1 i386 1.17.0-2+b1 [109 kB] Get: 361 http://deb.debian.org/debian trixie/main i386 libxcb-xfixes0 i386 1.17.0-2+b1 [110 kB] Get: 362 http://deb.debian.org/debian trixie/main i386 libxshmfence1 i386 1.3-1+b2 [8992 B] Get: 363 http://deb.debian.org/debian trixie/main i386 libxxf86vm1 i386 1:1.1.4-1+b3 [20.1 kB] Get: 364 http://deb.debian.org/debian trixie/main i386 libdrm-amdgpu1 i386 2.4.123-1 [25.0 kB] Get: 365 http://deb.debian.org/debian trixie/main i386 libpciaccess0 i386 0.17-3+b2 [53.8 kB] Get: 366 http://deb.debian.org/debian trixie/main i386 libdrm-intel1 i386 2.4.123-1 [66.8 kB] Get: 367 http://deb.debian.org/debian trixie/main i386 libdrm-radeon1 i386 2.4.123-1 [23.0 kB] Get: 368 http://deb.debian.org/debian trixie/main i386 libz3-4 i386 4.13.3-1 [9211 kB] Get: 369 http://deb.debian.org/debian trixie/main i386 libllvm19 i386 1:19.1.5-1 [30.3 MB] Get: 370 http://deb.debian.org/debian trixie/main i386 libsensors-config all 1:3.6.0-10 [14.6 kB] Get: 371 http://deb.debian.org/debian trixie/main i386 libsensors5 i386 1:3.6.0-10+b1 [35.8 kB] Get: 372 http://deb.debian.org/debian trixie/main i386 mesa-libgallium i386 24.2.8-1 [9409 kB] Get: 373 http://deb.debian.org/debian trixie/main i386 libvulkan1 i386 1.3.296.0-1 [136 kB] Get: 374 http://deb.debian.org/debian trixie/main i386 libwayland-server0 i386 1.23.0-1+b1 [35.9 kB] Get: 375 http://deb.debian.org/debian trixie/main i386 libgbm1 i386 24.2.8-1 [43.9 kB] Get: 376 http://deb.debian.org/debian trixie/main i386 libgl1-mesa-dri i386 24.2.8-1 [42.5 kB] Get: 377 http://deb.debian.org/debian trixie/main i386 libglx-mesa0 i386 24.2.8-1 [160 kB] Get: 378 http://deb.debian.org/debian trixie/main i386 libglx0 i386 1.7.0-1+b2 [36.8 kB] Get: 379 http://deb.debian.org/debian trixie/main i386 libgl1 i386 1.7.0-1+b2 [82.7 kB] Get: 380 http://deb.debian.org/debian trixie/main i386 libfltk-gl1.3t64 i386 1.3.8-6.1+b1 [63.1 kB] Get: 381 http://deb.debian.org/debian trixie/main i386 libgl2ps1.4 i386 1.4.2+dfsg1-2 [42.0 kB] Get: 382 http://deb.debian.org/debian trixie/main i386 libltdl7 i386 2.4.7-8 [395 kB] Get: 383 http://deb.debian.org/debian trixie/main i386 libglpk40 i386 5.0-1+b2 [422 kB] Get: 384 http://deb.debian.org/debian trixie/main i386 libopengl0 i386 1.7.0-1+b2 [29.3 kB] Get: 385 http://deb.debian.org/debian trixie/main i386 libglu1-mesa i386 9.0.2-1.1+b2 [190 kB] Get: 386 http://deb.debian.org/debian trixie/main i386 libgif7 i386 5.2.2-1+b1 [45.6 kB] Get: 387 http://deb.debian.org/debian trixie/main i386 libhwy1t64 i386 1.2.0-2+b1 [856 kB] Get: 388 http://deb.debian.org/debian trixie/main i386 liblcms2-2 i386 2.16-2 [171 kB] Get: 389 http://deb.debian.org/debian trixie/main i386 libimath-3-1-29t64 i386 3.1.12-1+b1 [37.0 kB] Get: 390 http://deb.debian.org/debian trixie/main i386 libopenexr-3-1-30 i386 3.1.5-5.1+b3 [975 kB] Get: 391 http://deb.debian.org/debian trixie/main i386 libjxl0.9 i386 0.9.2-10+b1 [1172 kB] Get: 392 http://deb.debian.org/debian trixie/main i386 libwmflite-0.2-7 i386 0.2.13-1.1+b3 [78.6 kB] Get: 393 http://deb.debian.org/debian trixie/main i386 libgraphicsmagick-q16-3t64 i386 1.4+really1.3.45-1+b1 [1283 kB] Get: 394 http://deb.debian.org/debian trixie/main i386 libgraphicsmagick++-q16-12t64 i386 1.4+really1.3.45-1+b1 [136 kB] Get: 395 http://deb.debian.org/debian trixie/main i386 libcurl4t64 i386 8.11.1-1 [393 kB] Get: 396 http://deb.debian.org/debian trixie/main i386 libaec0 i386 1.1.3-1+b1 [25.0 kB] Get: 397 http://deb.debian.org/debian trixie/main i386 libsz2 i386 1.1.3-1+b1 [8128 B] Get: 398 http://deb.debian.org/debian trixie/main i386 libhdf5-103-1t64 i386 1.10.10+repack-5+b1 [1186 kB] Get: 399 http://deb.debian.org/debian trixie/main i386 libasound2-data all 1.2.12-1 [21.0 kB] Get: 400 http://deb.debian.org/debian trixie/main i386 libasound2t64 i386 1.2.12-1+b1 [397 kB] Get: 401 http://deb.debian.org/debian trixie/main i386 libopus0 i386 1.5.2-2 [2843 kB] Get: 402 http://deb.debian.org/debian trixie/main i386 libsamplerate0 i386 0.2.2-4+b2 [953 kB] Get: 403 http://deb.debian.org/debian trixie/main i386 libjack-jackd2-0 i386 1.9.22~dfsg-3 [317 kB] Get: 404 http://deb.debian.org/debian trixie/main i386 libportaudio2 i386 19.6.0-1.2+b3 [66.9 kB] Get: 405 http://deb.debian.org/debian trixie/main i386 libqhull-r8.0 i386 2020.2-6+b2 [259 kB] Get: 406 http://deb.debian.org/debian trixie/main i386 libqrupdate1 i386 1.1.5-1 [39.7 kB] Get: 407 http://deb.debian.org/debian trixie/main i386 libqscintilla2-qt6-l10n all 2.14.1+dfsg-1 [105 kB] Get: 408 http://deb.debian.org/debian trixie/main i386 libb2-1 i386 0.98.1-1.1+b2 [46.1 kB] Get: 409 http://deb.debian.org/debian trixie/main i386 libdouble-conversion3 i386 3.3.0-1+b2 [45.7 kB] Get: 410 http://deb.debian.org/debian trixie/main i386 libpcre2-16-0 i386 10.44-5 [258 kB] Get: 411 http://deb.debian.org/debian trixie/main i386 libqt6core6t64 i386 6.7.2+dfsg-5 [1899 kB] Get: 412 http://deb.debian.org/debian trixie/main i386 libwayland-client0 i386 1.23.0-1+b1 [27.2 kB] Get: 413 http://deb.debian.org/debian trixie/main i386 libegl-mesa0 i386 24.2.8-1 [140 kB] Get: 414 http://deb.debian.org/debian trixie/main i386 libegl1 i386 1.7.0-1+b2 [36.4 kB] Get: 415 http://deb.debian.org/debian trixie/main i386 x11-common all 1:7.7+23.1 [216 kB] Get: 416 http://deb.debian.org/debian trixie/main i386 libice6 i386 2:1.1.1-1 [67.8 kB] Get: 417 http://deb.debian.org/debian trixie/main i386 libevdev2 i386 1.13.3+dfsg-1 [30.4 kB] Get: 418 http://deb.debian.org/debian trixie/main i386 libmtdev1t64 i386 1.1.6-1.2+b1 [23.0 kB] Get: 419 http://deb.debian.org/debian trixie/main i386 libgudev-1.0-0 i386 238-5+b1 [15.2 kB] Get: 420 http://deb.debian.org/debian trixie/main i386 libwacom-common all 2.13.0-1 [98.0 kB] Get: 421 http://deb.debian.org/debian trixie/main i386 libwacom9 i386 2.13.0-1 [25.8 kB] Get: 422 http://deb.debian.org/debian trixie/main i386 libinput-bin i386 1.26.2-1 [25.6 kB] Get: 423 http://deb.debian.org/debian trixie/main i386 libinput10 i386 1.26.2-1 [146 kB] Get: 424 http://deb.debian.org/debian trixie/main i386 libmd4c0 i386 0.5.2-2+b1 [49.2 kB] Get: 425 http://deb.debian.org/debian trixie/main i386 libdbus-1-3 i386 1.15.92-1 [190 kB] Get: 426 http://deb.debian.org/debian trixie/main i386 libqt6dbus6 i386 6.7.2+dfsg-5 [284 kB] Get: 427 http://deb.debian.org/debian trixie/main i386 libsm6 i386 2:1.2.4-1 [35.9 kB] Get: 428 http://deb.debian.org/debian trixie/main i386 libts0t64 i386 1.22-1.1+b1 [63.9 kB] Get: 429 http://deb.debian.org/debian trixie/main i386 libxcb-util1 i386 0.4.0-1+b2 [22.8 kB] Get: 430 http://deb.debian.org/debian trixie/main i386 libxcb-image0 i386 0.4.0-2+b2 [22.7 kB] Get: 431 http://deb.debian.org/debian trixie/main i386 libxcb-render-util0 i386 0.3.9-1+b2 [17.8 kB] Get: 432 http://deb.debian.org/debian trixie/main i386 libxcb-cursor0 i386 0.1.4-1+b2 [17.4 kB] Get: 433 http://deb.debian.org/debian trixie/main i386 libxcb-icccm4 i386 0.4.2-1 [28.2 kB] Get: 434 http://deb.debian.org/debian trixie/main i386 libxcb-keysyms1 i386 0.4.0-1+b3 [15.9 kB] Get: 435 http://deb.debian.org/debian trixie/main i386 libxcb-shape0 i386 1.17.0-2+b1 [106 kB] Get: 436 http://deb.debian.org/debian trixie/main i386 libxcb-xinput0 i386 1.17.0-2+b1 [133 kB] Get: 437 http://deb.debian.org/debian trixie/main i386 libxcb-xkb1 i386 1.17.0-2+b1 [131 kB] Get: 438 http://deb.debian.org/debian trixie/main i386 xkb-data all 2.42-1 [790 kB] Get: 439 http://deb.debian.org/debian trixie/main i386 libxkbcommon0 i386 1.6.0-1+b2 [116 kB] Get: 440 http://deb.debian.org/debian trixie/main i386 libxkbcommon-x11-0 i386 1.6.0-1+b2 [17.1 kB] Get: 441 http://deb.debian.org/debian trixie/main i386 libqt6gui6 i386 6.7.2+dfsg-5 [3286 kB] Get: 442 http://deb.debian.org/debian trixie/main i386 libavahi-common-data i386 0.8-15 [112 kB] Get: 443 http://deb.debian.org/debian trixie/main i386 libavahi-common3 i386 0.8-15 [46.3 kB] Get: 444 http://deb.debian.org/debian trixie/main i386 libavahi-client3 i386 0.8-15 [50.3 kB] Get: 445 http://deb.debian.org/debian trixie/main i386 libcups2t64 i386 2.4.10-2 [267 kB] Get: 446 http://deb.debian.org/debian trixie/main i386 libqt6widgets6 i386 6.7.2+dfsg-5 [2863 kB] Get: 447 http://deb.debian.org/debian trixie/main i386 libqt6printsupport6 i386 6.7.2+dfsg-5 [232 kB] Get: 448 http://deb.debian.org/debian trixie/main i386 libqscintilla2-qt6-15 i386 2.14.1+dfsg-1+b4 [1253 kB] Get: 449 http://deb.debian.org/debian trixie/main i386 libqt6core5compat6 i386 6.7.2-3 [145 kB] Get: 450 http://deb.debian.org/debian trixie/main i386 libqt6sql6 i386 6.7.2+dfsg-5 [150 kB] Get: 451 http://deb.debian.org/debian trixie/main i386 libqt6help6 i386 6.7.2-6 [197 kB] Get: 452 http://deb.debian.org/debian trixie/main i386 libduktape207 i386 2.7.0-2+b2 [138 kB] Get: 453 http://deb.debian.org/debian trixie/main i386 libproxy1v5 i386 0.5.9-1 [27.7 kB] Get: 454 http://deb.debian.org/debian trixie/main i386 libqt6network6 i386 6.7.2+dfsg-5 [846 kB] Get: 455 http://deb.debian.org/debian trixie/main i386 libqt6opengl6 i386 6.7.2+dfsg-5 [440 kB] Get: 456 http://deb.debian.org/debian trixie/main i386 libqt6openglwidgets6 i386 6.7.2+dfsg-5 [51.3 kB] Get: 457 http://deb.debian.org/debian trixie/main i386 libqt6xml6 i386 6.7.2+dfsg-5 [90.1 kB] Get: 458 http://deb.debian.org/debian trixie/main i386 libogg0 i386 1.3.5-3+b2 [24.6 kB] Get: 459 http://deb.debian.org/debian trixie/main i386 libflac12t64 i386 1.4.3+ds-2.1+b1 [206 kB] Get: 460 http://deb.debian.org/debian trixie/main i386 libmp3lame0 i386 3.100-6+b3 [362 kB] Get: 461 http://deb.debian.org/debian trixie/main i386 libmpg123-0t64 i386 1.32.9-1 [152 kB] Get: 462 http://deb.debian.org/debian trixie/main i386 libvorbis0a i386 1.3.7-2+b1 [89.6 kB] Get: 463 http://deb.debian.org/debian trixie/main i386 libvorbisenc2 i386 1.3.7-2+b1 [69.9 kB] Get: 464 http://deb.debian.org/debian trixie/main i386 libsndfile1 i386 1.2.2-1+b3 [221 kB] Get: 465 http://deb.debian.org/debian trixie/main i386 libspqr4 i386 1:7.8.3+dfsg-2 [167 kB] Get: 466 http://deb.debian.org/debian trixie/main i386 libumfpack6 i386 1:7.8.3+dfsg-2 [323 kB] Get: 467 http://deb.debian.org/debian trixie/main i386 libtext-unidecode-perl all 1.30-3 [101 kB] Get: 468 http://deb.debian.org/debian trixie/main i386 texinfo-lib i386 7.1.1-1+b1 [236 kB] Get: 469 http://deb.debian.org/debian trixie/main i386 tex-common all 6.18 [32.5 kB] Get: 470 http://deb.debian.org/debian trixie/main i386 texinfo all 7.1.1-1 [1753 kB] Get: 471 http://deb.debian.org/debian trixie/main i386 octave-common all 9.2.0-3 [6591 kB] Get: 472 http://deb.debian.org/debian trixie/main i386 octave i386 9.2.0-3+b1 [10.2 MB] Get: 473 http://deb.debian.org/debian trixie/main i386 libncurses6 i386 6.5-2+b1 [112 kB] Get: 474 http://deb.debian.org/debian trixie/main i386 libncurses-dev i386 6.5-2+b1 [505 kB] Get: 475 http://deb.debian.org/debian trixie/main i386 libreadline-dev i386 8.2-5 [166 kB] Get: 476 http://deb.debian.org/debian trixie/main i386 libhdf5-fortran-102t64 i386 1.10.10+repack-5+b1 [98.1 kB] Get: 477 http://deb.debian.org/debian trixie/main i386 libhdf5-hl-100t64 i386 1.10.10+repack-5+b1 [76.3 kB] Get: 478 http://deb.debian.org/debian trixie/main i386 libhdf5-hl-fortran-100t64 i386 1.10.10+repack-5+b1 [42.5 kB] Get: 479 http://deb.debian.org/debian trixie/main i386 libhdf5-cpp-103-1t64 i386 1.10.10+repack-5+b1 [138 kB] Get: 480 http://deb.debian.org/debian trixie/main i386 libhdf5-hl-cpp-100t64 i386 1.10.10+repack-5+b1 [22.3 kB] Get: 481 http://deb.debian.org/debian trixie/main i386 zlib1g-dev i386 1:1.3.dfsg+really1.3.1-1+b1 [916 kB] Get: 482 http://deb.debian.org/debian trixie/main i386 libjpeg62-turbo-dev i386 1:2.1.5-3+b1 [305 kB] Get: 483 http://deb.debian.org/debian trixie/main i386 libjpeg-dev i386 1:2.1.5-3+b1 [72.2 kB] Get: 484 http://deb.debian.org/debian trixie/main i386 libaec-dev i386 1.1.3-1+b1 [23.0 kB] Get: 485 http://deb.debian.org/debian trixie/main i386 libbrotli-dev i386 1.1.0-2+b6 [313 kB] Get: 486 http://deb.debian.org/debian trixie/main i386 libidn2-dev i386 2.3.7-2+b1 [126 kB] Get: 487 http://deb.debian.org/debian trixie/main i386 libgssrpc4t64 i386 1.21.3-3 [63.1 kB] Get: 488 http://deb.debian.org/debian trixie/main i386 libkadm5clnt-mit12 i386 1.21.3-3 [43.2 kB] Get: 489 http://deb.debian.org/debian trixie/main i386 libkdb5-10t64 i386 1.21.3-3 [45.1 kB] Get: 490 http://deb.debian.org/debian trixie/main i386 libkadm5srv-mit12 i386 1.21.3-3 [57.0 kB] Get: 491 http://deb.debian.org/debian trixie/main i386 krb5-multidev i386 1.21.3-3 [126 kB] Get: 492 http://deb.debian.org/debian trixie/main i386 libkrb5-dev i386 1.21.3-3 [15.7 kB] Get: 493 http://deb.debian.org/debian trixie/main i386 libldap-dev i386 2.5.18+dfsg-3+b1 [324 kB] Get: 494 http://deb.debian.org/debian trixie/main i386 libpkgconf3 i386 1.8.1-4 [38.4 kB] Get: 495 http://deb.debian.org/debian trixie/main i386 pkgconf-bin i386 1.8.1-4 [30.6 kB] Get: 496 http://deb.debian.org/debian trixie/main i386 pkgconf i386 1.8.1-4 [26.2 kB] Get: 497 http://deb.debian.org/debian trixie/main i386 libnghttp2-dev i386 1.64.0-1 [123 kB] Get: 498 http://deb.debian.org/debian trixie/main i386 libpsl-dev i386 0.21.2-1.1+b1 [78.4 kB] Get: 499 http://deb.debian.org/debian trixie/main i386 libgmpxx4ldbl i386 2:6.3.0+dfsg-3 [329 kB] Get: 500 http://deb.debian.org/debian trixie/main i386 libgmp-dev i386 2:6.3.0+dfsg-3 [661 kB] Get: 501 http://deb.debian.org/debian trixie/main i386 libevent-2.1-7t64 i386 2.1.12-stable-10+b1 [195 kB] Get: 502 http://deb.debian.org/debian trixie/main i386 libunbound8 i386 1.22.0-1 [632 kB] Get: 503 http://deb.debian.org/debian trixie/main i386 libgnutls-dane0t64 i386 3.8.8-2 [447 kB] Get: 504 http://deb.debian.org/debian trixie/main i386 libgnutls-openssl27t64 i386 3.8.8-2 [447 kB] Get: 505 http://deb.debian.org/debian trixie/main i386 libp11-kit-dev i386 0.25.5-2+b1 [208 kB] Get: 506 http://deb.debian.org/debian trixie/main i386 libtasn1-6-dev i386 4.19.0-3+b3 [102 kB] Get: 507 http://deb.debian.org/debian trixie/main i386 nettle-dev i386 3.10-1+b1 [1334 kB] Get: 508 http://deb.debian.org/debian trixie/main i386 libgnutls28-dev i386 3.8.8-2 [1453 kB] Get: 509 http://deb.debian.org/debian trixie/main i386 librtmp-dev i386 2.4+20151223.gitfa8646d.1-2+b5 [72.3 kB] Get: 510 http://deb.debian.org/debian trixie/main i386 libssl-dev i386 3.3.2-2 [2790 kB] Get: 511 http://deb.debian.org/debian trixie/main i386 libssh2-1-dev i386 1.11.1-1 [407 kB] Get: 512 http://deb.debian.org/debian trixie/main i386 libzstd-dev i386 1.5.6+dfsg-1+b1 [355 kB] Get: 513 http://deb.debian.org/debian trixie/main i386 libcurl4-openssl-dev i386 8.11.1-1 [522 kB] Get: 514 http://deb.debian.org/debian trixie/main i386 hdf5-helpers i386 1.10.10+repack-5+b1 [23.9 kB] Get: 515 http://deb.debian.org/debian trixie/main i386 libhdf5-dev i386 1.10.10+repack-5+b1 [2786 kB] Get: 516 http://deb.debian.org/debian trixie/main i386 xorg-sgml-doctools all 1:1.11-1.1 [22.1 kB] Get: 517 http://deb.debian.org/debian trixie/main i386 x11proto-dev all 2024.1-1 [603 kB] Get: 518 http://deb.debian.org/debian trixie/main i386 libxau-dev i386 1:1.0.11-1 [24.0 kB] Get: 519 http://deb.debian.org/debian trixie/main i386 libxdmcp-dev i386 1:1.1.5-1 [45.0 kB] Get: 520 http://deb.debian.org/debian trixie/main i386 xtrans-dev all 1.4.0-1 [98.7 kB] Get: 521 http://deb.debian.org/debian trixie/main i386 libxcb1-dev i386 1.17.0-2+b1 [186 kB] Get: 522 http://deb.debian.org/debian trixie/main i386 libx11-dev i386 2:1.8.10-2 [917 kB] Get: 523 http://deb.debian.org/debian trixie/main i386 libglx-dev i386 1.7.0-1+b2 [15.8 kB] Get: 524 http://deb.debian.org/debian trixie/main i386 libgl-dev i386 1.7.0-1+b2 [101 kB] Get: 525 http://deb.debian.org/debian trixie/main i386 libblas-dev i386 3.12.0-4 [155 kB] Get: 526 http://deb.debian.org/debian trixie/main i386 liblapack-dev i386 3.12.0-4 [4452 kB] Get: 527 http://deb.debian.org/debian trixie/main i386 libfftw3-long3 i386 3.3.10-2+b1 [349 kB] Get: 528 http://deb.debian.org/debian trixie/main i386 libfftw3-quad3 i386 3.3.10-2+b1 [1860 kB] Get: 529 http://deb.debian.org/debian trixie/main i386 libfftw3-bin i386 3.3.10-2+b1 [50.0 kB] Get: 530 http://deb.debian.org/debian trixie/main i386 libfftw3-dev i386 3.3.10-2+b1 [3254 kB] Get: 531 http://deb.debian.org/debian trixie/main i386 libgfortran-14-dev i386 14.2.0-8 [800 kB] Get: 532 http://deb.debian.org/debian trixie/main i386 gfortran-14-i686-linux-gnu i386 14.2.0-8 [12.5 MB] Get: 533 http://deb.debian.org/debian trixie/main i386 gfortran-14 i386 14.2.0-8 [12.2 kB] Get: 534 http://deb.debian.org/debian trixie/main i386 gfortran-i686-linux-gnu i386 4:14.2.0-1 [1280 B] Get: 535 http://deb.debian.org/debian trixie/main i386 gfortran i386 4:14.2.0-1 [1432 B] Get: 536 http://deb.debian.org/debian trixie/main i386 octave-dev i386 9.2.0-3+b1 [1004 kB] Get: 537 http://deb.debian.org/debian trixie/main i386 dh-octave all 1.8.0 [22.7 kB] Get: 538 http://deb.debian.org/debian trixie/main i386 fonts-lmodern all 2.005-1 [4540 kB] Get: 539 http://deb.debian.org/debian trixie/main i386 libkpathsea6 i386 2024.20240313.70630+ds-5 [160 kB] Get: 540 http://deb.debian.org/debian trixie/main i386 libmpfi0 i386 1.5.4+ds-4 [38.8 kB] Get: 541 http://deb.debian.org/debian trixie/main i386 libpaper1 i386 1.1.29+b2 [13.0 kB] Get: 542 http://deb.debian.org/debian trixie/main i386 libpaper-utils i386 1.1.29+b2 [9304 B] Get: 543 http://deb.debian.org/debian trixie/main i386 libpotrace0 i386 1.16-2+b2 [24.5 kB] Get: 544 http://deb.debian.org/debian trixie/main i386 libptexenc1 i386 2024.20240313.70630+ds-5 [50.0 kB] Get: 545 http://deb.debian.org/debian trixie/main i386 libslicot0 i386 5.9-1+b1 [1291 kB] Get: 546 http://deb.debian.org/debian trixie/main i386 libsynctex2 i386 2024.20240313.70630+ds-5 [65.6 kB] Get: 547 http://deb.debian.org/debian trixie/main i386 libteckit0 i386 2.5.12+ds1-1+b1 [285 kB] Get: 548 http://deb.debian.org/debian trixie/main i386 libtexlua53-5 i386 2024.20240313.70630+ds-5 [129 kB] Get: 549 http://deb.debian.org/debian trixie/main i386 libxt6t64 i386 1:1.2.1-1.2+b1 [193 kB] Get: 550 http://deb.debian.org/debian trixie/main i386 libxmu6 i386 2:1.1.3-3+b3 [60.9 kB] Get: 551 http://deb.debian.org/debian trixie/main i386 libxaw7 i386 2:1.0.16-1 [220 kB] Get: 552 http://deb.debian.org/debian trixie/main i386 libxi6 i386 2:1.8.2-1 [81.2 kB] Get: 553 http://deb.debian.org/debian trixie/main i386 libzzip-0-13t64 i386 0.13.72+dfsg.1-1.2+b1 [58.1 kB] Get: 554 http://deb.debian.org/debian trixie/main i386 octave-control i386 4.0.1-1+b2 [301 kB] Get: 555 http://deb.debian.org/debian trixie/main i386 texlive-binaries i386 2024.20240313.70630+ds-5 [8368 kB] Get: 556 http://deb.debian.org/debian trixie/main i386 xdg-utils all 1.2.1-2 [75.8 kB] Get: 557 http://deb.debian.org/debian trixie/main i386 texlive-base all 2024.20241115-1 [22.7 MB] Get: 558 http://deb.debian.org/debian trixie/main i386 texlive-fonts-recommended all 2024.20241115-1 [4991 kB] Get: 559 http://deb.debian.org/debian trixie/main i386 texlive-latex-base all 2024.20241115-1 [1278 kB] Get: 560 http://deb.debian.org/debian trixie/main i386 texlive-latex-recommended all 2024.20241115-1 [8757 kB] Get: 561 http://deb.debian.org/debian trixie/main i386 texlive all 2024.20241115-1 [18.6 kB] Fetched 272 MB in 26s (10.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:i386. (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 ... 19952 files and directories currently installed.) Preparing to unpack .../libpython3.12-minimal_3.12.8-3_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.8-3) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.6.4-1_i386.deb ... Unpacking libexpat1:i386 (2.6.4-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.8-3_i386.deb ... Unpacking python3.12-minimal (3.12.8-3) ... Setting up libpython3.12-minimal:i386 (3.12.8-3) ... Setting up libexpat1:i386 (2.6.4-1) ... Setting up python3.12-minimal (3.12.8-3) ... Selecting previously unselected package python3-minimal. (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 ... 20272 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.6-1_i386.deb ... Unpacking python3-minimal (3.12.6-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024b-4_all.deb ... Unpacking tzdata (2024b-4) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../04-libkrb5support0_1.21.3-3_i386.deb ... Unpacking libkrb5support0:i386 (1.21.3-3) ... Selecting previously unselected package libcom-err2:i386. Preparing to unpack .../05-libcom-err2_1.47.2~rc1-2_i386.deb ... Unpacking libcom-err2:i386 (1.47.2~rc1-2) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../06-libk5crypto3_1.21.3-3_i386.deb ... Unpacking libk5crypto3:i386 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../07-libkeyutils1_1.6.3-4_i386.deb ... Unpacking libkeyutils1:i386 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../08-libkrb5-3_1.21.3-3_i386.deb ... Unpacking libkrb5-3:i386 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:i386. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3+b1_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3 to /lib/i386-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3.0.0 to /lib/i386-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:i386. Preparing to unpack .../12-libnsl2_1.3.0-3+b3_i386.deb ... Unpacking libnsl2:i386 (1.3.0-3+b3) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../14-libreadline8t64_8.2-5_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-5) ... Selecting previously unselected package libpython3.12-stdlib:i386. Preparing to unpack .../15-libpython3.12-stdlib_3.12.8-3_i386.deb ... Unpacking libpython3.12-stdlib:i386 (3.12.8-3) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.8-3_i386.deb ... Unpacking python3.12 (3.12.8-3) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../17-libpython3-stdlib_3.12.6-1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.12.6-1) ... Setting up python3-minimal (3.12.6-1) ... Selecting previously unselected package python3. (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 ... 21335 files and directories currently installed.) Preparing to unpack .../000-python3_3.12.6-1_i386.deb ... Unpacking python3 (3.12.6-1) ... Selecting previously unselected package libproc2-0:i386. Preparing to unpack .../001-libproc2-0_2%3a4.0.4-6_i386.deb ... Unpacking libproc2-0:i386 (2:4.0.4-6) ... Selecting previously unselected package procps. Preparing to unpack .../002-procps_2%3a4.0.4-6_i386.deb ... Unpacking procps (2:4.0.4-6) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.3.2-2_i386.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3+b1_i386.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.22.5-2_i386.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-6_i386.deb ... Unpacking groff-base (1.23.0-6) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.2-12_i386.deb ... Unpacking bsdextrautils (2.40.2-12) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../013-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package ucf. Preparing to unpack .../015-ucf_3.0045_all.deb ... Moving old data out of the way Unpacking ucf (3.0045) ... Selecting previously unselected package aglfn. Preparing to unpack .../016-aglfn_1.7+git20191031.4036a9c-2_all.deb ... Unpacking aglfn (1.7+git20191031.4036a9c-2) ... Selecting previously unselected package libglib2.0-0t64:i386. Preparing to unpack .../017-libglib2.0-0t64_2.82.3-2_i386.deb ... Unpacking libglib2.0-0t64:i386 (2.82.3-2) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../018-libicu72_72.1-5+b1_i386.deb ... Unpacking libicu72:i386 (72.1-5+b1) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../019-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../020-shared-mime-info_2.4-5+b1_i386.deb ... Unpacking shared-mime-info (2.4-5+b1) ... Selecting previously unselected package libbrotli1:i386. Preparing to unpack .../021-libbrotli1_1.1.0-2+b6_i386.deb ... Unpacking libbrotli1:i386 (1.1.0-2+b6) ... Selecting previously unselected package libsasl2-modules-db:i386. Preparing to unpack .../022-libsasl2-modules-db_2.1.28+dfsg1-8_i386.deb ... Unpacking libsasl2-modules-db:i386 (2.1.28+dfsg1-8) ... Selecting previously unselected package libsasl2-2:i386. Preparing to unpack .../023-libsasl2-2_2.1.28+dfsg1-8_i386.deb ... Unpacking libsasl2-2:i386 (2.1.28+dfsg1-8) ... Selecting previously unselected package libldap-2.5-0:i386. Preparing to unpack .../024-libldap-2.5-0_2.5.18+dfsg-3+b1_i386.deb ... Unpacking libldap-2.5-0:i386 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libnghttp2-14:i386. Preparing to unpack .../025-libnghttp2-14_1.64.0-1_i386.deb ... Unpacking libnghttp2-14:i386 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:i386. Preparing to unpack .../026-libnghttp3-9_1.6.0-2_i386.deb ... Unpacking libnghttp3-9:i386 (1.6.0-2) ... Selecting previously unselected package libngtcp2-16:i386. Preparing to unpack .../027-libngtcp2-16_1.9.1-1_i386.deb ... Unpacking libngtcp2-16:i386 (1.9.1-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:i386. Preparing to unpack .../028-libngtcp2-crypto-gnutls8_1.9.1-1_i386.deb ... Unpacking libngtcp2-crypto-gnutls8:i386 (1.9.1-1) ... Selecting previously unselected package libpsl5t64:i386. Preparing to unpack .../029-libpsl5t64_0.21.2-1.1+b1_i386.deb ... Unpacking libpsl5t64:i386 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:i386. Preparing to unpack .../030-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_i386.deb ... Unpacking librtmp1:i386 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:i386. Preparing to unpack .../031-libssh2-1t64_1.11.1-1_i386.deb ... Unpacking libssh2-1t64:i386 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:i386. Preparing to unpack .../032-libcurl3t64-gnutls_8.11.1-1_i386.deb ... Unpacking libcurl3t64-gnutls:i386 (8.11.1-1) ... Selecting previously unselected package libstemmer0d:i386. Preparing to unpack .../033-libstemmer0d_2.2.0-4+b2_i386.deb ... Unpacking libstemmer0d:i386 (2.2.0-4+b2) ... Selecting previously unselected package libxmlb2:i386. Preparing to unpack .../034-libxmlb2_0.3.21-1_i386.deb ... Unpacking libxmlb2:i386 (0.3.21-1) ... Selecting previously unselected package libyaml-0-2:i386. Preparing to unpack .../035-libyaml-0-2_0.2.5-1+b2_i386.deb ... Unpacking libyaml-0-2:i386 (0.2.5-1+b2) ... Selecting previously unselected package libappstream5:i386. Preparing to unpack .../036-libappstream5_1.0.4-1_i386.deb ... Unpacking libappstream5:i386 (1.0.4-1) ... Selecting previously unselected package appstream. Preparing to unpack .../037-appstream_1.0.4-1_i386.deb ... Unpacking appstream (1.0.4-1) ... Selecting previously unselected package m4. Preparing to unpack .../038-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../039-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../040-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../041-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../042-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../043-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../044-libparams-util-perl_1.102-3+b1_i386.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../045-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../046-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:i386. Preparing to unpack .../047-libb-hooks-op-check-perl_0.22-3+b2_i386.deb ... Unpacking libb-hooks-op-check-perl:i386 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../048-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:i386. Preparing to unpack .../049-libdevel-callchecker-perl_0.009-1+b1_i386.deb ... Unpacking libdevel-callchecker-perl:i386 (0.009-1+b1) ... Selecting previously unselected package libparams-classify-perl:i386. Preparing to unpack .../050-libparams-classify-perl_0.015-2+b4_i386.deb ... Unpacking libparams-classify-perl:i386 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../051-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../052-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../053-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../054-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../055-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../056-libio-stringy-perl_2.113-2_all.deb ... Unpacking libio-stringy-perl (2.113-2) ... Selecting previously unselected package libparams-validate-perl:i386. Preparing to unpack .../057-libparams-validate-perl_1.31-2+b3_i386.deb ... Unpacking libparams-validate-perl:i386 (1.31-2+b3) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../058-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../059-libgetopt-long-descriptive-perl_0.115-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.115-1) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../060-libio-tiecombine-perl_1.005-3_all.deb ... Unpacking libio-tiecombine-perl (1.005-3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../061-libmodule-pluggable-perl_5.2-5_all.deb ... Unpacking libmodule-pluggable-perl (5.2-5) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../062-libstring-rewriteprefix-perl_0.009-1_all.deb ... Unpacking libstring-rewriteprefix-perl (0.009-1) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../063-libapp-cmd-perl_0.336-1_all.deb ... Unpacking libapp-cmd-perl (0.336-1) ... Selecting previously unselected package libboolean-perl. Preparing to unpack .../064-libboolean-perl_0.46-3_all.deb ... Unpacking libboolean-perl (0.46-3) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../065-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../066-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libcarp-assert-more-perl. Preparing to unpack .../067-libcarp-assert-more-perl_2.5.0-1_all.deb ... Unpacking libcarp-assert-more-perl (2.5.0-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../068-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../069-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../070-libclone-choose-perl_0.010-2_all.deb ... Unpacking libclone-choose-perl (0.010-2) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../071-libhash-merge-perl_0.302-1_all.deb ... Unpacking libhash-merge-perl (0.302-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../072-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../073-libexporter-tiny-perl_1.006002-1_all.deb ... Unpacking libexporter-tiny-perl (1.006002-1) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../074-liblist-moreutils-xs-perl_0.430-4+b2_i386.deb ... Unpacking liblist-moreutils-xs-perl (0.430-4+b2) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../075-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package liblog-log4perl-perl. Preparing to unpack .../076-liblog-log4perl-perl_1.57-1_all.deb ... Unpacking liblog-log4perl-perl (1.57-1) ... Selecting previously unselected package libmouse-perl:i386. Preparing to unpack .../077-libmouse-perl_2.5.11-1+b1_i386.deb ... Unpacking libmouse-perl:i386 (2.5.11-1+b1) ... Selecting previously unselected package libmousex-nativetraits-perl. Preparing to unpack .../078-libmousex-nativetraits-perl_1.09-3_all.deb ... Unpacking libmousex-nativetraits-perl (1.09-3) ... Selecting previously unselected package libmousex-strictconstructor-perl. Preparing to unpack .../079-libmousex-strictconstructor-perl_0.02-3_all.deb ... Unpacking libmousex-strictconstructor-perl (0.02-3) ... Selecting previously unselected package libparse-recdescent-perl. Preparing to unpack .../080-libparse-recdescent-perl_1.967015+dfsg-4_all.deb ... Unpacking libparse-recdescent-perl (1.967015+dfsg-4) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../081-libpath-tiny-perl_0.146-1_all.deb ... Unpacking libpath-tiny-perl (0.146-1) ... Selecting previously unselected package libpod-pom-perl. Preparing to unpack .../082-libpod-pom-perl_2.01-4_all.deb ... Unpacking libpod-pom-perl (2.01-4) ... Selecting previously unselected package libregexp-common-perl. Preparing to unpack .../083-libregexp-common-perl_2024080801-1_all.deb ... Unpacking libregexp-common-perl (2024080801-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../084-libyaml-tiny-perl_1.74-1_all.deb ... Unpacking libyaml-tiny-perl (1.74-1) ... Selecting previously unselected package libconfig-model-perl. Preparing to unpack .../085-libconfig-model-perl_2.155-1_all.deb ... Unpacking libconfig-model-perl (2.155-1) ... Selecting previously unselected package libyaml-pp-perl. Preparing to unpack .../086-libyaml-pp-perl_0.38.0-1_all.deb ... Unpacking libyaml-pp-perl (0.38.0-1) ... Selecting previously unselected package cme. Preparing to unpack .../087-cme_1.041-1_all.deb ... Unpacking cme (1.041-1) ... Selecting previously unselected package comerr-dev:i386. Preparing to unpack .../088-comerr-dev_2.1-1.47.2~rc1-2_i386.deb ... Unpacking comerr-dev:i386 (2.1-1.47.2~rc1-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../089-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../090-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../091-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../092-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../093-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../094-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../095-libelf1t64_0.192-4_i386.deb ... Unpacking libelf1t64:i386 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../096-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../097-gettext_0.22.5-2_i386.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../098-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../099-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../100-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package gnuplot-data. Preparing to unpack .../101-gnuplot-data_6.0.0+dfsg1-3_all.deb ... Unpacking gnuplot-data (6.0.0+dfsg1-3) ... Selecting previously unselected package libpng16-16t64:i386. Preparing to unpack .../102-libpng16-16t64_1.6.44-2_i386.deb ... Unpacking libpng16-16t64:i386 (1.6.44-2) ... Selecting previously unselected package libfreetype6:i386. Preparing to unpack .../103-libfreetype6_2.13.3+dfsg-1_i386.deb ... Unpacking libfreetype6:i386 (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../104-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../105-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fonts-freefont-otf. Preparing to unpack .../106-fonts-freefont-otf_20211204+svn4273-2_all.deb ... Unpacking fonts-freefont-otf (20211204+svn4273-2) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../107-fontconfig-config_2.15.0-1.1+b1_i386.deb ... Unpacking fontconfig-config (2.15.0-1.1+b1) ... Selecting previously unselected package libfontconfig1:i386. Preparing to unpack .../108-libfontconfig1_2.15.0-1.1+b1_i386.deb ... Unpacking libfontconfig1:i386 (2.15.0-1.1+b1) ... Selecting previously unselected package libpixman-1-0:i386. Preparing to unpack .../109-libpixman-1-0_0.44.0-3_i386.deb ... Unpacking libpixman-1-0:i386 (0.44.0-3) ... Selecting previously unselected package libxau6:i386. Preparing to unpack .../110-libxau6_1%3a1.0.11-1_i386.deb ... Unpacking libxau6:i386 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:i386. Preparing to unpack .../111-libxdmcp6_1%3a1.1.5-1_i386.deb ... Unpacking libxdmcp6:i386 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:i386. Preparing to unpack .../112-libxcb1_1.17.0-2+b1_i386.deb ... Unpacking libxcb1:i386 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../113-libx11-data_2%3a1.8.10-2_all.deb ... Unpacking libx11-data (2:1.8.10-2) ... Selecting previously unselected package libx11-6:i386. Preparing to unpack .../114-libx11-6_2%3a1.8.10-2_i386.deb ... Unpacking libx11-6:i386 (2:1.8.10-2) ... Selecting previously unselected package libxcb-render0:i386. Preparing to unpack .../115-libxcb-render0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-render0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:i386. Preparing to unpack .../116-libxcb-shm0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-shm0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxext6:i386. Preparing to unpack .../117-libxext6_2%3a1.3.4-1+b2_i386.deb ... Unpacking libxext6:i386 (2:1.3.4-1+b2) ... Selecting previously unselected package libxrender1:i386. Preparing to unpack .../118-libxrender1_1%3a0.9.10-1.1+b2_i386.deb ... Unpacking libxrender1:i386 (1:0.9.10-1.1+b2) ... Selecting previously unselected package libcairo2:i386. Preparing to unpack .../119-libcairo2_1.18.2-2_i386.deb ... Unpacking libcairo2:i386 (1.18.2-2) ... Selecting previously unselected package libedit2:i386. Preparing to unpack .../120-libedit2_3.1-20240808-1_i386.deb ... Unpacking libedit2:i386 (3.1-20240808-1) ... Selecting previously unselected package libaom3:i386. Preparing to unpack .../121-libaom3_3.11.0-1_i386.deb ... Unpacking libaom3:i386 (3.11.0-1) ... Selecting previously unselected package libdav1d7:i386. Preparing to unpack .../122-libdav1d7_1.5.0-1+b1_i386.deb ... Unpacking libdav1d7:i386 (1.5.0-1+b1) ... Selecting previously unselected package libabsl20230802:i386. Preparing to unpack .../123-libabsl20230802_20230802.1-4_i386.deb ... Unpacking libabsl20230802:i386 (20230802.1-4) ... Selecting previously unselected package libgav1-1:i386. Preparing to unpack .../124-libgav1-1_0.19.0-2+b2_i386.deb ... Unpacking libgav1-1:i386 (0.19.0-2+b2) ... Selecting previously unselected package librav1e0.7:i386. Preparing to unpack .../125-librav1e0.7_0.7.1-7+b2_i386.deb ... Unpacking librav1e0.7:i386 (0.7.1-7+b2) ... Selecting previously unselected package libsvtav1enc2:i386. Preparing to unpack .../126-libsvtav1enc2_2.2.1+dfsg-2_i386.deb ... Unpacking libsvtav1enc2:i386 (2.2.1+dfsg-2) ... Selecting previously unselected package libjpeg62-turbo:i386. Preparing to unpack .../127-libjpeg62-turbo_1%3a2.1.5-3+b1_i386.deb ... Unpacking libjpeg62-turbo:i386 (1:2.1.5-3+b1) ... Selecting previously unselected package libyuv0:i386. Preparing to unpack .../128-libyuv0_0.0.1898.20241125-1_i386.deb ... Unpacking libyuv0:i386 (0.0.1898.20241125-1) ... Selecting previously unselected package libavif16:i386. Preparing to unpack .../129-libavif16_1.1.1-1_i386.deb ... Unpacking libavif16:i386 (1.1.1-1) ... Selecting previously unselected package libsharpyuv0:i386. Preparing to unpack .../130-libsharpyuv0_1.4.0-0.1+b1_i386.deb ... Unpacking libsharpyuv0:i386 (1.4.0-0.1+b1) ... Selecting previously unselected package libheif-plugin-dav1d:i386. Preparing to unpack .../131-libheif-plugin-dav1d_1.19.3-1_i386.deb ... Unpacking libheif-plugin-dav1d:i386 (1.19.3-1) ... Selecting previously unselected package libde265-0:i386. Preparing to unpack .../132-libde265-0_1.0.15-1+b2_i386.deb ... Unpacking libde265-0:i386 (1.0.15-1+b2) ... Selecting previously unselected package libheif-plugin-libde265:i386. Preparing to unpack .../133-libheif-plugin-libde265_1.19.3-1_i386.deb ... Unpacking libheif-plugin-libde265:i386 (1.19.3-1) ... Selecting previously unselected package libheif1:i386. Preparing to unpack .../134-libheif1_1.19.3-1_i386.deb ... Unpacking libheif1:i386 (1.19.3-1) ... Selecting previously unselected package libimagequant0:i386. Preparing to unpack .../135-libimagequant0_2.18.0-1+b2_i386.deb ... Unpacking libimagequant0:i386 (2.18.0-1+b2) ... Selecting previously unselected package libfribidi0:i386. Preparing to unpack .../136-libfribidi0_1.0.16-1_i386.deb ... Unpacking libfribidi0:i386 (1.0.16-1) ... Selecting previously unselected package libgraphite2-3:i386. Preparing to unpack .../137-libgraphite2-3_1.3.14-2+b1_i386.deb ... Unpacking libgraphite2-3:i386 (1.3.14-2+b1) ... Selecting previously unselected package libharfbuzz0b:i386. Preparing to unpack .../138-libharfbuzz0b_10.1.0-1_i386.deb ... Unpacking libharfbuzz0b:i386 (10.1.0-1) ... Selecting previously unselected package libraqm0:i386. Preparing to unpack .../139-libraqm0_0.10.2-1_i386.deb ... Unpacking libraqm0:i386 (0.10.2-1) ... Selecting previously unselected package libdeflate0:i386. Preparing to unpack .../140-libdeflate0_1.22-1_i386.deb ... Unpacking libdeflate0:i386 (1.22-1) ... Selecting previously unselected package libjbig0:i386. Preparing to unpack .../141-libjbig0_2.1-6.1+b2_i386.deb ... Unpacking libjbig0:i386 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:i386. Preparing to unpack .../142-liblerc4_4.0.0+ds-5_i386.deb ... Unpacking liblerc4:i386 (4.0.0+ds-5) ... Selecting previously unselected package libwebp7:i386. Preparing to unpack .../143-libwebp7_1.4.0-0.1+b1_i386.deb ... Unpacking libwebp7:i386 (1.4.0-0.1+b1) ... Selecting previously unselected package libtiff6:i386. Preparing to unpack .../144-libtiff6_4.5.1+git230720-5_i386.deb ... Unpacking libtiff6:i386 (4.5.1+git230720-5) ... Selecting previously unselected package libxpm4:i386. Preparing to unpack .../145-libxpm4_1%3a3.5.17-1+b2_i386.deb ... Unpacking libxpm4:i386 (1:3.5.17-1+b2) ... Selecting previously unselected package libgd3:i386. Preparing to unpack .../146-libgd3_2.3.3-12+b1_i386.deb ... Unpacking libgd3:i386 (2.3.3-12+b1) ... Selecting previously unselected package liblua5.4-0:i386. Preparing to unpack .../147-liblua5.4-0_5.4.7-1+b1_i386.deb ... Unpacking liblua5.4-0:i386 (5.4.7-1+b1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../148-fontconfig_2.15.0-1.1+b1_i386.deb ... Unpacking fontconfig (2.15.0-1.1+b1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../149-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:i386. Preparing to unpack .../150-libdatrie1_0.2.13-3+b1_i386.deb ... Unpacking libdatrie1:i386 (0.2.13-3+b1) ... Selecting previously unselected package libthai0:i386. Preparing to unpack .../151-libthai0_0.1.29-2+b1_i386.deb ... Unpacking libthai0:i386 (0.1.29-2+b1) ... Selecting previously unselected package libpango-1.0-0:i386. Preparing to unpack .../152-libpango-1.0-0_1.55.0+ds-3_i386.deb ... Unpacking libpango-1.0-0:i386 (1.55.0+ds-3) ... Selecting previously unselected package libpangoft2-1.0-0:i386. Preparing to unpack .../153-libpangoft2-1.0-0_1.55.0+ds-3_i386.deb ... Unpacking libpangoft2-1.0-0:i386 (1.55.0+ds-3) ... Selecting previously unselected package libpangocairo-1.0-0:i386. Preparing to unpack .../154-libpangocairo-1.0-0_1.55.0+ds-3_i386.deb ... Unpacking libpangocairo-1.0-0:i386 (1.55.0+ds-3) ... Selecting previously unselected package libwebpmux3:i386. Preparing to unpack .../155-libwebpmux3_1.4.0-0.1+b1_i386.deb ... Unpacking libwebpmux3:i386 (1.4.0-0.1+b1) ... Selecting previously unselected package gnuplot-nox. Preparing to unpack .../156-gnuplot-nox_6.0.0+dfsg1-3_i386.deb ... Unpacking gnuplot-nox (6.0.0+dfsg1-3) ... Selecting previously unselected package dh-octave-autopkgtest. Preparing to unpack .../157-dh-octave-autopkgtest_1.8.0_all.deb ... Unpacking dh-octave-autopkgtest (1.8.0) ... Selecting previously unselected package libapt-pkg-perl. Preparing to unpack .../158-libapt-pkg-perl_0.1.40+b6_i386.deb ... Unpacking libapt-pkg-perl (0.1.40+b6) ... Selecting previously unselected package libarray-intspan-perl. Preparing to unpack .../159-libarray-intspan-perl_2.004-2_all.deb ... Unpacking libarray-intspan-perl (2.004-2) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../160-libyaml-libyaml-perl_0.902.0+ds-2+b1_i386.deb ... Unpacking libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Selecting previously unselected package libconfig-model-backend-yaml-perl. Preparing to unpack .../161-libconfig-model-backend-yaml-perl_2.134-2_all.deb ... Unpacking libconfig-model-backend-yaml-perl (2.134-2) ... Selecting previously unselected package libexporter-lite-perl. Preparing to unpack .../162-libexporter-lite-perl_0.09-2_all.deb ... Unpacking libexporter-lite-perl (0.09-2) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../163-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../164-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../165-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../166-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../167-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../168-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhtml-parser-perl:i386. Preparing to unpack .../169-libhtml-parser-perl_3.83-1+b1_i386.deb ... Unpacking libhtml-parser-perl:i386 (3.83-1+b1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../170-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libclone-perl:i386. Preparing to unpack .../171-libclone-perl_0.47-1+b1_i386.deb ... Unpacking libclone-perl:i386 (0.47-1+b1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../172-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../173-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../174-libhttp-message-perl_7.00-2_all.deb ... Unpacking libhttp-message-perl (7.00-2) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../175-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../176-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:i386. Preparing to unpack .../177-perl-openssl-defaults_7+b2_i386.deb ... Unpacking perl-openssl-defaults:i386 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:i386. Preparing to unpack .../178-libnet-ssleay-perl_1.94-2_i386.deb ... Unpacking libnet-ssleay-perl:i386 (1.94-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../179-libio-socket-ssl-perl_2.089-1_all.deb ... Unpacking libio-socket-ssl-perl (2.089-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../180-libnet-http-perl_6.23-1_all.deb ... Unpacking libnet-http-perl (6.23-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../181-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../182-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../183-libwww-perl_6.77-1_all.deb ... Unpacking libwww-perl (6.77-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../184-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package libparse-debcontrol-perl. Preparing to unpack .../185-libparse-debcontrol-perl_2.005-6_all.deb ... Unpacking libparse-debcontrol-perl (2.005-6) ... Selecting previously unselected package libsoftware-copyright-perl. Preparing to unpack .../186-libsoftware-copyright-perl_0.012-2_all.deb ... Unpacking libsoftware-copyright-perl (0.012-2) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../187-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../188-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../189-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libdata-section-perl. Preparing to unpack .../190-libdata-section-perl_0.200008-1_all.deb ... Unpacking libdata-section-perl (0.200008-1) ... Selecting previously unselected package libtext-template-perl. Preparing to unpack .../191-libtext-template-perl_1.61-1_all.deb ... Unpacking libtext-template-perl (1.61-1) ... Selecting previously unselected package libsoftware-license-perl. Preparing to unpack .../192-libsoftware-license-perl_0.104006-1_all.deb ... Unpacking libsoftware-license-perl (0.104006-1) ... Selecting previously unselected package libsoftware-licensemoreutils-perl. Preparing to unpack .../193-libsoftware-licensemoreutils-perl_1.009-1_all.deb ... Unpacking libsoftware-licensemoreutils-perl (1.009-1) ... Selecting previously unselected package libsort-versions-perl. Preparing to unpack .../194-libsort-versions-perl_1.62-3_all.deb ... Unpacking libsort-versions-perl (1.62-3) ... Selecting previously unselected package libtext-reform-perl. Preparing to unpack .../195-libtext-reform-perl_1.20-5_all.deb ... Unpacking libtext-reform-perl (1.20-5) ... Selecting previously unselected package libtext-autoformat-perl. Preparing to unpack .../196-libtext-autoformat-perl_1.750000-2_all.deb ... Unpacking libtext-autoformat-perl (1.750000-2) ... Selecting previously unselected package libtext-levenshtein-damerau-perl. Preparing to unpack .../197-libtext-levenshtein-damerau-perl_0.41-3_all.deb ... Unpacking libtext-levenshtein-damerau-perl (0.41-3) ... Selecting previously unselected package libtoml-tiny-perl. Preparing to unpack .../198-libtoml-tiny-perl_0.18-1_all.deb ... Unpacking libtoml-tiny-perl (0.18-1) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../199-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../200-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libindirect-perl. Preparing to unpack .../201-libindirect-perl_0.39-2+b4_i386.deb ... Unpacking libindirect-perl (0.39-2+b4) ... Selecting previously unselected package libxs-parse-keyword-perl. Preparing to unpack .../202-libxs-parse-keyword-perl_0.47-1_i386.deb ... Unpacking libxs-parse-keyword-perl (0.47-1) ... Selecting previously unselected package libxs-parse-sublike-perl:i386. Preparing to unpack .../203-libxs-parse-sublike-perl_0.30-1_i386.deb ... Unpacking libxs-parse-sublike-perl:i386 (0.30-1) ... Selecting previously unselected package libobject-pad-perl. Preparing to unpack .../204-libobject-pad-perl_0.816-1_i386.deb ... Unpacking libobject-pad-perl (0.816-1) ... Selecting previously unselected package libfeature-compat-class-perl. Preparing to unpack .../205-libfeature-compat-class-perl_0.07-1_all.deb ... Unpacking libfeature-compat-class-perl (0.07-1) ... Selecting previously unselected package libsyntax-keyword-try-perl. Preparing to unpack .../206-libsyntax-keyword-try-perl_0.30-1+b1_i386.deb ... Unpacking libsyntax-keyword-try-perl (0.30-1+b1) ... Selecting previously unselected package libfeature-compat-try-perl. Preparing to unpack .../207-libfeature-compat-try-perl_0.05-1_all.deb ... Unpacking libfeature-compat-try-perl (0.05-1) ... Selecting previously unselected package libio-interactive-perl. Preparing to unpack .../208-libio-interactive-perl_1.025-1_all.deb ... Unpacking libio-interactive-perl (1.025-1) ... Selecting previously unselected package liblog-any-perl. Preparing to unpack .../209-liblog-any-perl_1.717-1_all.deb ... Unpacking liblog-any-perl (1.717-1) ... Selecting previously unselected package liblog-any-adapter-screen-perl. Preparing to unpack .../210-liblog-any-adapter-screen-perl_0.141-1_all.deb ... Unpacking liblog-any-adapter-screen-perl (0.141-1) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../211-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../212-libvariable-magic-perl_0.64-1+b1_i386.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../213-libb-hooks-endofscope-perl_0.28-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-1) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../214-libsub-identify-perl_0.14-3+b3_i386.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libsub-name-perl:i386. Preparing to unpack .../215-libsub-name-perl_0.27-1+b3_i386.deb ... Unpacking libsub-name-perl:i386 (0.27-1+b3) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../216-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libnumber-compare-perl. Preparing to unpack .../217-libnumber-compare-perl_0.03-3_all.deb ... Unpacking libnumber-compare-perl (0.03-3) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../218-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Selecting previously unselected package libpath-iterator-rule-perl. Preparing to unpack .../219-libpath-iterator-rule-perl_1.015-2_all.deb ... Unpacking libpath-iterator-rule-perl (1.015-2) ... Selecting previously unselected package libpod-parser-perl. Preparing to unpack .../220-libpod-parser-perl_1.67-1_all.deb ... Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' Unpacking libpod-parser-perl (1.67-1) ... Selecting previously unselected package libpod-constants-perl. Preparing to unpack .../221-libpod-constants-perl_0.19-2_all.deb ... Unpacking libpod-constants-perl (0.19-2) ... Selecting previously unselected package libset-intspan-perl. Preparing to unpack .../222-libset-intspan-perl_1.19-3_all.deb ... Unpacking libset-intspan-perl (1.19-3) ... Selecting previously unselected package libstring-copyright-perl. Preparing to unpack .../223-libstring-copyright-perl_0.003014-1_all.deb ... Unpacking libstring-copyright-perl (0.003014-1) ... Selecting previously unselected package libstring-escape-perl. Preparing to unpack .../224-libstring-escape-perl_2010.002-3_all.deb ... Unpacking libstring-escape-perl (2010.002-3) ... Selecting previously unselected package libregexp-pattern-license-perl. Preparing to unpack .../225-libregexp-pattern-license-perl_3.11.2-1_all.deb ... Unpacking libregexp-pattern-license-perl (3.11.2-1) ... Selecting previously unselected package libregexp-pattern-perl. Preparing to unpack .../226-libregexp-pattern-perl_0.2.14-2_all.deb ... Unpacking libregexp-pattern-perl (0.2.14-2) ... Selecting previously unselected package libstring-license-perl. Preparing to unpack .../227-libstring-license-perl_0.0.11-1_all.deb ... Unpacking libstring-license-perl (0.0.11-1) ... Selecting previously unselected package licensecheck. Preparing to unpack .../228-licensecheck_3.3.9-1_all.deb ... Unpacking licensecheck (3.3.9-1) ... Selecting previously unselected package diffstat. Preparing to unpack .../229-diffstat_1.67-1_i386.deb ... Unpacking diffstat (1.67-1) ... Selecting previously unselected package libassuan9:i386. Preparing to unpack .../230-libassuan9_3.0.1-2_i386.deb ... Unpacking libassuan9:i386 (3.0.1-2) ... Selecting previously unselected package gpgconf. Preparing to unpack .../231-gpgconf_2.2.45-2_i386.deb ... Unpacking gpgconf (2.2.45-2) ... Selecting previously unselected package gpg. Preparing to unpack .../232-gpg_2.2.45-2_i386.deb ... Unpacking gpg (2.2.45-2) ... Selecting previously unselected package iso-codes. Preparing to unpack .../233-iso-codes_4.17.0-1_all.deb ... Unpacking iso-codes (4.17.0-1) ... Selecting previously unselected package libberkeleydb-perl:i386. Preparing to unpack .../234-libberkeleydb-perl_0.66-1_i386.deb ... Unpacking libberkeleydb-perl:i386 (0.66-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../235-libclass-xsaccessor-perl_1.19-4+b4_i386.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b4) ... Selecting previously unselected package libconfig-tiny-perl. Preparing to unpack .../236-libconfig-tiny-perl_2.30-1_all.deb ... Unpacking libconfig-tiny-perl (2.30-1) ... Selecting previously unselected package libconst-fast-perl. Preparing to unpack .../237-libconst-fast-perl_0.014-2_all.deb ... Unpacking libconst-fast-perl (0.014-2) ... Selecting previously unselected package libcpanel-json-xs-perl:i386. Preparing to unpack .../238-libcpanel-json-xs-perl_4.38-1+b1_i386.deb ... Unpacking libcpanel-json-xs-perl:i386 (4.38-1+b1) ... Selecting previously unselected package libaliased-perl. Preparing to unpack .../239-libaliased-perl_0.34-3_all.deb ... Unpacking libaliased-perl (0.34-3) ... Selecting previously unselected package libclass-data-inheritable-perl. Preparing to unpack .../240-libclass-data-inheritable-perl_0.10-1_all.deb ... Unpacking libclass-data-inheritable-perl (0.10-1) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../241-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libexception-class-perl. Preparing to unpack .../242-libexception-class-perl_1.45-1_all.deb ... Unpacking libexception-class-perl (1.45-1) ... Selecting previously unselected package libiterator-perl. Preparing to unpack .../243-libiterator-perl_0.03+ds1-2_all.deb ... Unpacking libiterator-perl (0.03+ds1-2) ... Selecting previously unselected package libiterator-util-perl. Preparing to unpack .../244-libiterator-util-perl_0.02+ds1-2_all.deb ... Unpacking libiterator-util-perl (0.02+ds1-2) ... Selecting previously unselected package libdata-dpath-perl. Preparing to unpack .../245-libdata-dpath-perl_0.60-1_all.deb ... Unpacking libdata-dpath-perl (0.60-1) ... Selecting previously unselected package libnet-domain-tld-perl. Preparing to unpack .../246-libnet-domain-tld-perl_1.75-4_all.deb ... Unpacking libnet-domain-tld-perl (1.75-4) ... Selecting previously unselected package libdata-validate-domain-perl. Preparing to unpack .../247-libdata-validate-domain-perl_0.15-1_all.deb ... Unpacking libdata-validate-domain-perl (0.15-1) ... Selecting previously unselected package libnet-ipv6addr-perl. Preparing to unpack .../248-libnet-ipv6addr-perl_1.02-1_all.deb ... Unpacking libnet-ipv6addr-perl (1.02-1) ... Selecting previously unselected package libnet-netmask-perl. Preparing to unpack .../249-libnet-netmask-perl_2.0002-2_all.deb ... Unpacking libnet-netmask-perl (2.0002-2) ... Selecting previously unselected package libnetaddr-ip-perl. Preparing to unpack .../250-libnetaddr-ip-perl_4.079+dfsg-2+b4_i386.deb ... Unpacking libnetaddr-ip-perl (4.079+dfsg-2+b4) ... Selecting previously unselected package libdata-validate-ip-perl. Preparing to unpack .../251-libdata-validate-ip-perl_0.31-1_all.deb ... Unpacking libdata-validate-ip-perl (0.31-1) ... Selecting previously unselected package libdata-validate-uri-perl. Preparing to unpack .../252-libdata-validate-uri-perl_0.07-3_all.deb ... Unpacking libdata-validate-uri-perl (0.07-3) ... Selecting previously unselected package libdevel-size-perl. Preparing to unpack .../253-libdevel-size-perl_0.84-1+b1_i386.deb ... Unpacking libdevel-size-perl (0.84-1+b1) ... Selecting previously unselected package libemail-address-xs-perl. Preparing to unpack .../254-libemail-address-xs-perl_1.05-1+b4_i386.deb ... Unpacking libemail-address-xs-perl (1.05-1+b4) ... Selecting previously unselected package libipc-system-simple-perl. Preparing to unpack .../255-libipc-system-simple-perl_1.30-2_all.deb ... Unpacking libipc-system-simple-perl (1.30-2) ... Selecting previously unselected package libfile-basedir-perl. Preparing to unpack .../256-libfile-basedir-perl_0.09-2_all.deb ... Unpacking libfile-basedir-perl (0.09-2) ... Selecting previously unselected package libfile-find-rule-perl. Preparing to unpack .../257-libfile-find-rule-perl_0.34-3_all.deb ... Unpacking libfile-find-rule-perl (0.34-3) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../258-libio-string-perl_1.08-4_all.deb ... Unpacking libio-string-perl (1.08-4) ... Selecting previously unselected package libfont-ttf-perl. Preparing to unpack .../259-libfont-ttf-perl_1.06-2_all.deb ... Unpacking libfont-ttf-perl (1.06-2) ... Selecting previously unselected package libhtml-html5-entities-perl. Preparing to unpack .../260-libhtml-html5-entities-perl_0.004-3_all.deb ... Unpacking libhtml-html5-entities-perl (0.004-3) ... Selecting previously unselected package libhtml-tokeparser-simple-perl. Preparing to unpack .../261-libhtml-tokeparser-simple-perl_3.16-4_all.deb ... Unpacking libhtml-tokeparser-simple-perl (3.16-4) ... Selecting previously unselected package libipc-run3-perl. Preparing to unpack .../262-libipc-run3-perl_0.049-1_all.deb ... Unpacking libipc-run3-perl (0.049-1) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../263-libjson-maybexs-perl_1.004008-1_all.deb ... Unpacking libjson-maybexs-perl (1.004008-1) ... Selecting previously unselected package liblist-compare-perl. Preparing to unpack .../264-liblist-compare-perl_0.55-2_all.deb ... Unpacking liblist-compare-perl (0.55-2) ... Selecting previously unselected package liblist-someutils-perl. Preparing to unpack .../265-liblist-someutils-perl_0.59-1_all.deb ... Unpacking liblist-someutils-perl (0.59-1) ... Selecting previously unselected package liblist-utilsby-perl. Preparing to unpack .../266-liblist-utilsby-perl_0.12-2_all.deb ... Unpacking liblist-utilsby-perl (0.12-2) ... Selecting previously unselected package libmldbm-perl. Preparing to unpack .../267-libmldbm-perl_2.05-4_all.deb ... Unpacking libmldbm-perl (2.05-4) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../268-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../269-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../270-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../271-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../272-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libstrictures-perl. Preparing to unpack .../273-libstrictures-perl_2.000006-1_all.deb ... Unpacking libstrictures-perl (2.000006-1) ... Selecting previously unselected package libmoox-aliases-perl. Preparing to unpack .../274-libmoox-aliases-perl_0.001006-2_all.deb ... Unpacking libmoox-aliases-perl (0.001006-2) ... Selecting previously unselected package libperlio-gzip-perl. Preparing to unpack .../275-libperlio-gzip-perl_0.20-1+b4_i386.deb ... Unpacking libperlio-gzip-perl (0.20-1+b4) ... Selecting previously unselected package libperlio-utf8-strict-perl. Preparing to unpack .../276-libperlio-utf8-strict-perl_0.010-1+b3_i386.deb ... Unpacking libperlio-utf8-strict-perl (0.010-1+b3) ... Selecting previously unselected package libproc-processtable-perl:i386. Preparing to unpack .../277-libproc-processtable-perl_0.636-1+b3_i386.deb ... Unpacking libproc-processtable-perl:i386 (0.636-1+b3) ... Selecting previously unselected package libregexp-wildcards-perl. Preparing to unpack .../278-libregexp-wildcards-perl_1.05-3_all.deb ... Unpacking libregexp-wildcards-perl (1.05-3) ... Selecting previously unselected package libsereal-decoder-perl. Preparing to unpack .../279-libsereal-decoder-perl_5.004+ds-1+b3_i386.deb ... Unpacking libsereal-decoder-perl (5.004+ds-1+b3) ... Selecting previously unselected package libsereal-encoder-perl. Preparing to unpack .../280-libsereal-encoder-perl_5.004+ds-1+b3_i386.deb ... Unpacking libsereal-encoder-perl (5.004+ds-1+b3) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../281-libterm-readkey-perl_2.38-2+b4_i386.deb ... Unpacking libterm-readkey-perl (2.38-2+b4) ... Selecting previously unselected package libtext-levenshteinxs-perl. Preparing to unpack .../282-libtext-levenshteinxs-perl_0.03-5+b4_i386.deb ... Unpacking libtext-levenshteinxs-perl (0.03-5+b4) ... Selecting previously unselected package libmarkdown2:i386. Preparing to unpack .../283-libmarkdown2_2.2.7-2.1_i386.deb ... Unpacking libmarkdown2:i386 (2.2.7-2.1) ... Selecting previously unselected package libtext-markdown-discount-perl. Preparing to unpack .../284-libtext-markdown-discount-perl_0.16-1+b3_i386.deb ... Unpacking libtext-markdown-discount-perl (0.16-1+b3) ... Selecting previously unselected package libdata-messagepack-perl. Preparing to unpack .../285-libdata-messagepack-perl_1.02-1+b4_i386.deb ... Unpacking libdata-messagepack-perl (1.02-1+b4) ... Selecting previously unselected package libtext-xslate-perl:i386. Preparing to unpack .../286-libtext-xslate-perl_3.5.9-2+b1_i386.deb ... Unpacking libtext-xslate-perl:i386 (3.5.9-2+b1) ... Selecting previously unselected package libtime-duration-perl. Preparing to unpack .../287-libtime-duration-perl_1.21-2_all.deb ... Unpacking libtime-duration-perl (1.21-2) ... Selecting previously unselected package libtime-moment-perl. Preparing to unpack .../288-libtime-moment-perl_0.44-2+b4_i386.deb ... Unpacking libtime-moment-perl (0.44-2+b4) ... Selecting previously unselected package libunicode-utf8-perl. Preparing to unpack .../289-libunicode-utf8-perl_0.62-2+b3_i386.deb ... Unpacking libunicode-utf8-perl (0.62-2+b3) ... Selecting previously unselected package libcgi-pm-perl. Preparing to unpack .../290-libcgi-pm-perl_4.66-1_all.deb ... Unpacking libcgi-pm-perl (4.66-1) ... Selecting previously unselected package libhtml-form-perl. Preparing to unpack .../291-libhtml-form-perl_6.12-1_all.deb ... Unpacking libhtml-form-perl (6.12-1) ... Selecting previously unselected package libwww-mechanize-perl. Preparing to unpack .../292-libwww-mechanize-perl_2.19-1_all.deb ... Unpacking libwww-mechanize-perl (2.19-1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../293-libxml-namespacesupport-perl_1.12-2_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-2) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../294-libxml-sax-base-perl_1.09-3_all.deb ... Unpacking libxml-sax-base-perl (1.09-3) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../295-libxml-sax-perl_1.02+dfsg-4_all.deb ... Unpacking libxml-sax-perl (1.02+dfsg-4) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../296-libxml-libxml-perl_2.0207+dfsg+really+2.0134-5+b1_i386.deb ... Unpacking libxml-libxml-perl (2.0207+dfsg+really+2.0134-5+b1) ... Selecting previously unselected package liblz1:i386. Preparing to unpack .../297-liblz1_1.15~rc1-1_i386.deb ... Unpacking liblz1:i386 (1.15~rc1-1) ... Selecting previously unselected package plzip. Preparing to unpack .../298-plzip_1.12~rc1-1_i386.deb ... Unpacking plzip (1.12~rc1-1) ... Selecting previously unselected package liblzo2-2:i386. Preparing to unpack .../299-liblzo2-2_2.10-3+b1_i386.deb ... Unpacking liblzo2-2:i386 (2.10-3+b1) ... Selecting previously unselected package lzop. Preparing to unpack .../300-lzop_1.04-2_i386.deb ... Unpacking lzop (1.04-2) ... Selecting previously unselected package patchutils. Preparing to unpack .../301-patchutils_0.4.2-1_i386.deb ... Unpacking patchutils (0.4.2-1) ... Selecting previously unselected package t1utils. Preparing to unpack .../302-t1utils_1.41-4_i386.deb ... Unpacking t1utils (1.41-4) ... Selecting previously unselected package unzip. Preparing to unpack .../303-unzip_6.0-28_i386.deb ... Unpacking unzip (6.0-28) ... Selecting previously unselected package lintian. Preparing to unpack .../304-lintian_2.121.1_all.deb ... Unpacking lintian (2.121.1) ... Selecting previously unselected package libconfig-model-dpkg-perl. Preparing to unpack .../305-libconfig-model-dpkg-perl_3.006_all.deb ... Unpacking libconfig-model-dpkg-perl (3.006) ... Selecting previously unselected package libconvert-binhex-perl. Preparing to unpack .../306-libconvert-binhex-perl_1.125-3_all.deb ... Unpacking libconvert-binhex-perl (1.125-3) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../307-libnet-smtp-ssl-perl_1.04-2_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-2) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../308-libmailtools-perl_2.22-1_all.deb ... Unpacking libmailtools-perl (2.22-1) ... Selecting previously unselected package libmime-tools-perl. Preparing to unpack .../309-libmime-tools-perl_5.515-1_all.deb ... Unpacking libmime-tools-perl (5.515-1) ... Selecting previously unselected package libsuitesparseconfig7:i386. Preparing to unpack .../310-libsuitesparseconfig7_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libsuitesparseconfig7:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libamd3:i386. Preparing to unpack .../311-libamd3_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libamd3:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libblas3:i386. Preparing to unpack .../312-libblas3_3.12.0-4_i386.deb ... Unpacking libblas3:i386 (3.12.0-4) ... Selecting previously unselected package libgfortran5:i386. Preparing to unpack .../313-libgfortran5_14.2.0-8_i386.deb ... Unpacking libgfortran5:i386 (14.2.0-8) ... Selecting previously unselected package liblapack3:i386. Preparing to unpack .../314-liblapack3_3.12.0-4_i386.deb ... Unpacking liblapack3:i386 (3.12.0-4) ... Selecting previously unselected package libarpack2t64:i386. Preparing to unpack .../315-libarpack2t64_3.9.1-4_i386.deb ... Unpacking libarpack2t64:i386 (3.9.1-4) ... Selecting previously unselected package libccolamd3:i386. Preparing to unpack .../316-libccolamd3_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libccolamd3:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libcamd3:i386. Preparing to unpack .../317-libcamd3_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libcamd3:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libcolamd3:i386. Preparing to unpack .../318-libcolamd3_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libcolamd3:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libcholmod5:i386. Preparing to unpack .../319-libcholmod5_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libcholmod5:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libcxsparse4:i386. Preparing to unpack .../320-libcxsparse4_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libcxsparse4:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libfftw3-double3:i386. Preparing to unpack .../321-libfftw3-double3_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-double3:i386 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-single3:i386. Preparing to unpack .../322-libfftw3-single3_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-single3:i386 (3.3.10-2+b1) ... Selecting previously unselected package libxfixes3:i386. Preparing to unpack .../323-libxfixes3_1%3a6.0.0-2+b2_i386.deb ... Unpacking libxfixes3:i386 (1:6.0.0-2+b2) ... Selecting previously unselected package libxcursor1:i386. Preparing to unpack .../324-libxcursor1_1%3a1.2.2-1+b1_i386.deb ... Unpacking libxcursor1:i386 (1:1.2.2-1+b1) ... Selecting previously unselected package libxft2:i386. Preparing to unpack .../325-libxft2_2.3.6-1+b2_i386.deb ... Unpacking libxft2:i386 (2.3.6-1+b2) ... Selecting previously unselected package libxinerama1:i386. Preparing to unpack .../326-libxinerama1_2%3a1.1.4-3+b2_i386.deb ... Unpacking libxinerama1:i386 (2:1.1.4-3+b2) ... Selecting previously unselected package libfltk1.3t64:i386. Preparing to unpack .../327-libfltk1.3t64_1.3.8-6.1+b1_i386.deb ... Unpacking libfltk1.3t64:i386 (1.3.8-6.1+b1) ... Selecting previously unselected package libglvnd0:i386. Preparing to unpack .../328-libglvnd0_1.7.0-1+b2_i386.deb ... Unpacking libglvnd0:i386 (1.7.0-1+b2) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../329-libdrm-common_2.4.123-1_all.deb ... Unpacking libdrm-common (2.4.123-1) ... Selecting previously unselected package libdrm2:i386. Preparing to unpack .../330-libdrm2_2.4.123-1_i386.deb ... Unpacking libdrm2:i386 (2.4.123-1) ... Selecting previously unselected package libglapi-mesa:i386. Preparing to unpack .../331-libglapi-mesa_24.2.8-1_i386.deb ... Unpacking libglapi-mesa:i386 (24.2.8-1) ... Selecting previously unselected package libx11-xcb1:i386. Preparing to unpack .../332-libx11-xcb1_2%3a1.8.10-2_i386.deb ... Unpacking libx11-xcb1:i386 (2:1.8.10-2) ... Selecting previously unselected package libxcb-dri2-0:i386. Preparing to unpack .../333-libxcb-dri2-0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-dri2-0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-dri3-0:i386. Preparing to unpack .../334-libxcb-dri3-0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-dri3-0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-glx0:i386. Preparing to unpack .../335-libxcb-glx0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-glx0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-present0:i386. Preparing to unpack .../336-libxcb-present0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-present0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-randr0:i386. Preparing to unpack .../337-libxcb-randr0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-randr0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-sync1:i386. Preparing to unpack .../338-libxcb-sync1_1.17.0-2+b1_i386.deb ... Unpacking libxcb-sync1:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-xfixes0:i386. Preparing to unpack .../339-libxcb-xfixes0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-xfixes0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxshmfence1:i386. Preparing to unpack .../340-libxshmfence1_1.3-1+b2_i386.deb ... Unpacking libxshmfence1:i386 (1.3-1+b2) ... Selecting previously unselected package libxxf86vm1:i386. Preparing to unpack .../341-libxxf86vm1_1%3a1.1.4-1+b3_i386.deb ... Unpacking libxxf86vm1:i386 (1:1.1.4-1+b3) ... Selecting previously unselected package libdrm-amdgpu1:i386. Preparing to unpack .../342-libdrm-amdgpu1_2.4.123-1_i386.deb ... Unpacking libdrm-amdgpu1:i386 (2.4.123-1) ... Selecting previously unselected package libpciaccess0:i386. Preparing to unpack .../343-libpciaccess0_0.17-3+b2_i386.deb ... Unpacking libpciaccess0:i386 (0.17-3+b2) ... Selecting previously unselected package libdrm-intel1:i386. Preparing to unpack .../344-libdrm-intel1_2.4.123-1_i386.deb ... Unpacking libdrm-intel1:i386 (2.4.123-1) ... Selecting previously unselected package libdrm-radeon1:i386. Preparing to unpack .../345-libdrm-radeon1_2.4.123-1_i386.deb ... Unpacking libdrm-radeon1:i386 (2.4.123-1) ... Selecting previously unselected package libz3-4:i386. Preparing to unpack .../346-libz3-4_4.13.3-1_i386.deb ... Unpacking libz3-4:i386 (4.13.3-1) ... Selecting previously unselected package libllvm19:i386. Preparing to unpack .../347-libllvm19_1%3a19.1.5-1_i386.deb ... Unpacking libllvm19:i386 (1:19.1.5-1) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../348-libsensors-config_1%3a3.6.0-10_all.deb ... Unpacking libsensors-config (1:3.6.0-10) ... Selecting previously unselected package libsensors5:i386. Preparing to unpack .../349-libsensors5_1%3a3.6.0-10+b1_i386.deb ... Unpacking libsensors5:i386 (1:3.6.0-10+b1) ... Selecting previously unselected package mesa-libgallium:i386. Preparing to unpack .../350-mesa-libgallium_24.2.8-1_i386.deb ... Unpacking mesa-libgallium:i386 (24.2.8-1) ... Selecting previously unselected package libvulkan1:i386. Preparing to unpack .../351-libvulkan1_1.3.296.0-1_i386.deb ... Unpacking libvulkan1:i386 (1.3.296.0-1) ... Selecting previously unselected package libwayland-server0:i386. Preparing to unpack .../352-libwayland-server0_1.23.0-1+b1_i386.deb ... Unpacking libwayland-server0:i386 (1.23.0-1+b1) ... Selecting previously unselected package libgbm1:i386. Preparing to unpack .../353-libgbm1_24.2.8-1_i386.deb ... Unpacking libgbm1:i386 (24.2.8-1) ... Selecting previously unselected package libgl1-mesa-dri:i386. Preparing to unpack .../354-libgl1-mesa-dri_24.2.8-1_i386.deb ... Unpacking libgl1-mesa-dri:i386 (24.2.8-1) ... Selecting previously unselected package libglx-mesa0:i386. Preparing to unpack .../355-libglx-mesa0_24.2.8-1_i386.deb ... Unpacking libglx-mesa0:i386 (24.2.8-1) ... Selecting previously unselected package libglx0:i386. Preparing to unpack .../356-libglx0_1.7.0-1+b2_i386.deb ... Unpacking libglx0:i386 (1.7.0-1+b2) ... Selecting previously unselected package libgl1:i386. Preparing to unpack .../357-libgl1_1.7.0-1+b2_i386.deb ... Unpacking libgl1:i386 (1.7.0-1+b2) ... Selecting previously unselected package libfltk-gl1.3t64:i386. Preparing to unpack .../358-libfltk-gl1.3t64_1.3.8-6.1+b1_i386.deb ... Unpacking libfltk-gl1.3t64:i386 (1.3.8-6.1+b1) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../359-libgl2ps1.4_1.4.2+dfsg1-2_i386.deb ... Unpacking libgl2ps1.4 (1.4.2+dfsg1-2) ... Selecting previously unselected package libltdl7:i386. Preparing to unpack .../360-libltdl7_2.4.7-8_i386.deb ... Unpacking libltdl7:i386 (2.4.7-8) ... Selecting previously unselected package libglpk40:i386. Preparing to unpack .../361-libglpk40_5.0-1+b2_i386.deb ... Unpacking libglpk40:i386 (5.0-1+b2) ... Selecting previously unselected package libopengl0:i386. Preparing to unpack .../362-libopengl0_1.7.0-1+b2_i386.deb ... Unpacking libopengl0:i386 (1.7.0-1+b2) ... Selecting previously unselected package libglu1-mesa:i386. Preparing to unpack .../363-libglu1-mesa_9.0.2-1.1+b2_i386.deb ... Unpacking libglu1-mesa:i386 (9.0.2-1.1+b2) ... Selecting previously unselected package libgif7:i386. Preparing to unpack .../364-libgif7_5.2.2-1+b1_i386.deb ... Unpacking libgif7:i386 (5.2.2-1+b1) ... Selecting previously unselected package libhwy1t64:i386. Preparing to unpack .../365-libhwy1t64_1.2.0-2+b1_i386.deb ... Unpacking libhwy1t64:i386 (1.2.0-2+b1) ... Selecting previously unselected package liblcms2-2:i386. Preparing to unpack .../366-liblcms2-2_2.16-2_i386.deb ... Unpacking liblcms2-2:i386 (2.16-2) ... Selecting previously unselected package libimath-3-1-29t64:i386. Preparing to unpack .../367-libimath-3-1-29t64_3.1.12-1+b1_i386.deb ... Unpacking libimath-3-1-29t64:i386 (3.1.12-1+b1) ... Selecting previously unselected package libopenexr-3-1-30:i386. Preparing to unpack .../368-libopenexr-3-1-30_3.1.5-5.1+b3_i386.deb ... Unpacking libopenexr-3-1-30:i386 (3.1.5-5.1+b3) ... Selecting previously unselected package libjxl0.9:i386. Preparing to unpack .../369-libjxl0.9_0.9.2-10+b1_i386.deb ... Unpacking libjxl0.9:i386 (0.9.2-10+b1) ... Selecting previously unselected package libwmflite-0.2-7:i386. Preparing to unpack .../370-libwmflite-0.2-7_0.2.13-1.1+b3_i386.deb ... Unpacking libwmflite-0.2-7:i386 (0.2.13-1.1+b3) ... Selecting previously unselected package libgraphicsmagick-q16-3t64. Preparing to unpack .../371-libgraphicsmagick-q16-3t64_1.4+really1.3.45-1+b1_i386.deb ... Unpacking libgraphicsmagick-q16-3t64 (1.4+really1.3.45-1+b1) ... Selecting previously unselected package libgraphicsmagick++-q16-12t64. Preparing to unpack .../372-libgraphicsmagick++-q16-12t64_1.4+really1.3.45-1+b1_i386.deb ... Unpacking libgraphicsmagick++-q16-12t64 (1.4+really1.3.45-1+b1) ... Selecting previously unselected package libcurl4t64:i386. Preparing to unpack .../373-libcurl4t64_8.11.1-1_i386.deb ... Unpacking libcurl4t64:i386 (8.11.1-1) ... Selecting previously unselected package libaec0:i386. Preparing to unpack .../374-libaec0_1.1.3-1+b1_i386.deb ... Unpacking libaec0:i386 (1.1.3-1+b1) ... Selecting previously unselected package libsz2:i386. Preparing to unpack .../375-libsz2_1.1.3-1+b1_i386.deb ... Unpacking libsz2:i386 (1.1.3-1+b1) ... Selecting previously unselected package libhdf5-103-1t64:i386. Preparing to unpack .../376-libhdf5-103-1t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-103-1t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../377-libasound2-data_1.2.12-1_all.deb ... Unpacking libasound2-data (1.2.12-1) ... Selecting previously unselected package libasound2t64:i386. Preparing to unpack .../378-libasound2t64_1.2.12-1+b1_i386.deb ... Unpacking libasound2t64:i386 (1.2.12-1+b1) ... Selecting previously unselected package libopus0:i386. Preparing to unpack .../379-libopus0_1.5.2-2_i386.deb ... Unpacking libopus0:i386 (1.5.2-2) ... Selecting previously unselected package libsamplerate0:i386. Preparing to unpack .../380-libsamplerate0_0.2.2-4+b2_i386.deb ... Unpacking libsamplerate0:i386 (0.2.2-4+b2) ... Selecting previously unselected package libjack-jackd2-0:i386. Preparing to unpack .../381-libjack-jackd2-0_1.9.22~dfsg-3_i386.deb ... Unpacking libjack-jackd2-0:i386 (1.9.22~dfsg-3) ... Selecting previously unselected package libportaudio2:i386. Preparing to unpack .../382-libportaudio2_19.6.0-1.2+b3_i386.deb ... Unpacking libportaudio2:i386 (19.6.0-1.2+b3) ... Selecting previously unselected package libqhull-r8.0:i386. Preparing to unpack .../383-libqhull-r8.0_2020.2-6+b2_i386.deb ... Unpacking libqhull-r8.0:i386 (2020.2-6+b2) ... Selecting previously unselected package libqrupdate1:i386. Preparing to unpack .../384-libqrupdate1_1.1.5-1_i386.deb ... Unpacking libqrupdate1:i386 (1.1.5-1) ... Selecting previously unselected package libqscintilla2-qt6-l10n. Preparing to unpack .../385-libqscintilla2-qt6-l10n_2.14.1+dfsg-1_all.deb ... Unpacking libqscintilla2-qt6-l10n (2.14.1+dfsg-1) ... Selecting previously unselected package libb2-1:i386. Preparing to unpack .../386-libb2-1_0.98.1-1.1+b2_i386.deb ... Unpacking libb2-1:i386 (0.98.1-1.1+b2) ... Selecting previously unselected package libdouble-conversion3:i386. Preparing to unpack .../387-libdouble-conversion3_3.3.0-1+b2_i386.deb ... Unpacking libdouble-conversion3:i386 (3.3.0-1+b2) ... Selecting previously unselected package libpcre2-16-0:i386. Preparing to unpack .../388-libpcre2-16-0_10.44-5_i386.deb ... Unpacking libpcre2-16-0:i386 (10.44-5) ... Selecting previously unselected package libqt6core6t64:i386. Preparing to unpack .../389-libqt6core6t64_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6core6t64:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libwayland-client0:i386. Preparing to unpack .../390-libwayland-client0_1.23.0-1+b1_i386.deb ... Unpacking libwayland-client0:i386 (1.23.0-1+b1) ... Selecting previously unselected package libegl-mesa0:i386. Preparing to unpack .../391-libegl-mesa0_24.2.8-1_i386.deb ... Unpacking libegl-mesa0:i386 (24.2.8-1) ... Selecting previously unselected package libegl1:i386. Preparing to unpack .../392-libegl1_1.7.0-1+b2_i386.deb ... Unpacking libegl1:i386 (1.7.0-1+b2) ... Selecting previously unselected package x11-common. Preparing to unpack .../393-x11-common_1%3a7.7+23.1_all.deb ... Unpacking x11-common (1:7.7+23.1) ... Selecting previously unselected package libice6:i386. Preparing to unpack .../394-libice6_2%3a1.1.1-1_i386.deb ... Unpacking libice6:i386 (2:1.1.1-1) ... Selecting previously unselected package libevdev2:i386. Preparing to unpack .../395-libevdev2_1.13.3+dfsg-1_i386.deb ... Unpacking libevdev2:i386 (1.13.3+dfsg-1) ... Selecting previously unselected package libmtdev1t64:i386. Preparing to unpack .../396-libmtdev1t64_1.1.6-1.2+b1_i386.deb ... Unpacking libmtdev1t64:i386 (1.1.6-1.2+b1) ... Selecting previously unselected package libgudev-1.0-0:i386. Preparing to unpack .../397-libgudev-1.0-0_238-5+b1_i386.deb ... Unpacking libgudev-1.0-0:i386 (238-5+b1) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../398-libwacom-common_2.13.0-1_all.deb ... Unpacking libwacom-common (2.13.0-1) ... Selecting previously unselected package libwacom9:i386. Preparing to unpack .../399-libwacom9_2.13.0-1_i386.deb ... Unpacking libwacom9:i386 (2.13.0-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../400-libinput-bin_1.26.2-1_i386.deb ... Unpacking libinput-bin (1.26.2-1) ... Selecting previously unselected package libinput10:i386. Preparing to unpack .../401-libinput10_1.26.2-1_i386.deb ... Unpacking libinput10:i386 (1.26.2-1) ... Selecting previously unselected package libmd4c0:i386. Preparing to unpack .../402-libmd4c0_0.5.2-2+b1_i386.deb ... Unpacking libmd4c0:i386 (0.5.2-2+b1) ... Selecting previously unselected package libdbus-1-3:i386. Preparing to unpack .../403-libdbus-1-3_1.15.92-1_i386.deb ... Unpacking libdbus-1-3:i386 (1.15.92-1) ... Selecting previously unselected package libqt6dbus6:i386. Preparing to unpack .../404-libqt6dbus6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6dbus6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libsm6:i386. Preparing to unpack .../405-libsm6_2%3a1.2.4-1_i386.deb ... Unpacking libsm6:i386 (2:1.2.4-1) ... Selecting previously unselected package libts0t64:i386. Preparing to unpack .../406-libts0t64_1.22-1.1+b1_i386.deb ... Unpacking libts0t64:i386 (1.22-1.1+b1) ... Selecting previously unselected package libxcb-util1:i386. Preparing to unpack .../407-libxcb-util1_0.4.0-1+b2_i386.deb ... Unpacking libxcb-util1:i386 (0.4.0-1+b2) ... Selecting previously unselected package libxcb-image0:i386. Preparing to unpack .../408-libxcb-image0_0.4.0-2+b2_i386.deb ... Unpacking libxcb-image0:i386 (0.4.0-2+b2) ... Selecting previously unselected package libxcb-render-util0:i386. Preparing to unpack .../409-libxcb-render-util0_0.3.9-1+b2_i386.deb ... Unpacking libxcb-render-util0:i386 (0.3.9-1+b2) ... Selecting previously unselected package libxcb-cursor0:i386. Preparing to unpack .../410-libxcb-cursor0_0.1.4-1+b2_i386.deb ... Unpacking libxcb-cursor0:i386 (0.1.4-1+b2) ... Selecting previously unselected package libxcb-icccm4:i386. Preparing to unpack .../411-libxcb-icccm4_0.4.2-1_i386.deb ... Unpacking libxcb-icccm4:i386 (0.4.2-1) ... Selecting previously unselected package libxcb-keysyms1:i386. Preparing to unpack .../412-libxcb-keysyms1_0.4.0-1+b3_i386.deb ... Unpacking libxcb-keysyms1:i386 (0.4.0-1+b3) ... Selecting previously unselected package libxcb-shape0:i386. Preparing to unpack .../413-libxcb-shape0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-shape0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-xinput0:i386. Preparing to unpack .../414-libxcb-xinput0_1.17.0-2+b1_i386.deb ... Unpacking libxcb-xinput0:i386 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-xkb1:i386. Preparing to unpack .../415-libxcb-xkb1_1.17.0-2+b1_i386.deb ... Unpacking libxcb-xkb1:i386 (1.17.0-2+b1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../416-xkb-data_2.42-1_all.deb ... Unpacking xkb-data (2.42-1) ... Selecting previously unselected package libxkbcommon0:i386. Preparing to unpack .../417-libxkbcommon0_1.6.0-1+b2_i386.deb ... Unpacking libxkbcommon0:i386 (1.6.0-1+b2) ... Selecting previously unselected package libxkbcommon-x11-0:i386. Preparing to unpack .../418-libxkbcommon-x11-0_1.6.0-1+b2_i386.deb ... Unpacking libxkbcommon-x11-0:i386 (1.6.0-1+b2) ... Selecting previously unselected package libqt6gui6:i386. Preparing to unpack .../419-libqt6gui6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6gui6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libavahi-common-data:i386. Preparing to unpack .../420-libavahi-common-data_0.8-15_i386.deb ... Unpacking libavahi-common-data:i386 (0.8-15) ... Selecting previously unselected package libavahi-common3:i386. Preparing to unpack .../421-libavahi-common3_0.8-15_i386.deb ... Unpacking libavahi-common3:i386 (0.8-15) ... Selecting previously unselected package libavahi-client3:i386. Preparing to unpack .../422-libavahi-client3_0.8-15_i386.deb ... Unpacking libavahi-client3:i386 (0.8-15) ... Selecting previously unselected package libcups2t64:i386. Preparing to unpack .../423-libcups2t64_2.4.10-2_i386.deb ... Unpacking libcups2t64:i386 (2.4.10-2) ... Selecting previously unselected package libqt6widgets6:i386. Preparing to unpack .../424-libqt6widgets6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6widgets6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqt6printsupport6:i386. Preparing to unpack .../425-libqt6printsupport6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6printsupport6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqscintilla2-qt6-15:i386. Preparing to unpack .../426-libqscintilla2-qt6-15_2.14.1+dfsg-1+b4_i386.deb ... Unpacking libqscintilla2-qt6-15:i386 (2.14.1+dfsg-1+b4) ... Selecting previously unselected package libqt6core5compat6:i386. Preparing to unpack .../427-libqt6core5compat6_6.7.2-3_i386.deb ... Unpacking libqt6core5compat6:i386 (6.7.2-3) ... Selecting previously unselected package libqt6sql6:i386. Preparing to unpack .../428-libqt6sql6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6sql6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqt6help6:i386. Preparing to unpack .../429-libqt6help6_6.7.2-6_i386.deb ... Unpacking libqt6help6:i386 (6.7.2-6) ... Selecting previously unselected package libduktape207:i386. Preparing to unpack .../430-libduktape207_2.7.0-2+b2_i386.deb ... Unpacking libduktape207:i386 (2.7.0-2+b2) ... Selecting previously unselected package libproxy1v5:i386. Preparing to unpack .../431-libproxy1v5_0.5.9-1_i386.deb ... Unpacking libproxy1v5:i386 (0.5.9-1) ... Selecting previously unselected package libqt6network6:i386. Preparing to unpack .../432-libqt6network6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6network6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqt6opengl6:i386. Preparing to unpack .../433-libqt6opengl6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6opengl6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqt6openglwidgets6:i386. Preparing to unpack .../434-libqt6openglwidgets6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6openglwidgets6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libqt6xml6:i386. Preparing to unpack .../435-libqt6xml6_6.7.2+dfsg-5_i386.deb ... Unpacking libqt6xml6:i386 (6.7.2+dfsg-5) ... Selecting previously unselected package libogg0:i386. Preparing to unpack .../436-libogg0_1.3.5-3+b2_i386.deb ... Unpacking libogg0:i386 (1.3.5-3+b2) ... Selecting previously unselected package libflac12t64:i386. Preparing to unpack .../437-libflac12t64_1.4.3+ds-2.1+b1_i386.deb ... Unpacking libflac12t64:i386 (1.4.3+ds-2.1+b1) ... Selecting previously unselected package libmp3lame0:i386. Preparing to unpack .../438-libmp3lame0_3.100-6+b3_i386.deb ... Unpacking libmp3lame0:i386 (3.100-6+b3) ... Selecting previously unselected package libmpg123-0t64:i386. Preparing to unpack .../439-libmpg123-0t64_1.32.9-1_i386.deb ... Unpacking libmpg123-0t64:i386 (1.32.9-1) ... Selecting previously unselected package libvorbis0a:i386. Preparing to unpack .../440-libvorbis0a_1.3.7-2+b1_i386.deb ... Unpacking libvorbis0a:i386 (1.3.7-2+b1) ... Selecting previously unselected package libvorbisenc2:i386. Preparing to unpack .../441-libvorbisenc2_1.3.7-2+b1_i386.deb ... Unpacking libvorbisenc2:i386 (1.3.7-2+b1) ... Selecting previously unselected package libsndfile1:i386. Preparing to unpack .../442-libsndfile1_1.2.2-1+b3_i386.deb ... Unpacking libsndfile1:i386 (1.2.2-1+b3) ... Selecting previously unselected package libspqr4:i386. Preparing to unpack .../443-libspqr4_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libspqr4:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libumfpack6:i386. Preparing to unpack .../444-libumfpack6_1%3a7.8.3+dfsg-2_i386.deb ... Unpacking libumfpack6:i386 (1:7.8.3+dfsg-2) ... Selecting previously unselected package libtext-unidecode-perl. Preparing to unpack .../445-libtext-unidecode-perl_1.30-3_all.deb ... Unpacking libtext-unidecode-perl (1.30-3) ... Selecting previously unselected package texinfo-lib. Preparing to unpack .../446-texinfo-lib_7.1.1-1+b1_i386.deb ... Unpacking texinfo-lib (7.1.1-1+b1) ... Selecting previously unselected package tex-common. Preparing to unpack .../447-tex-common_6.18_all.deb ... Unpacking tex-common (6.18) ... Selecting previously unselected package texinfo. Preparing to unpack .../448-texinfo_7.1.1-1_all.deb ... Unpacking texinfo (7.1.1-1) ... Selecting previously unselected package octave-common. Preparing to unpack .../449-octave-common_9.2.0-3_all.deb ... Unpacking octave-common (9.2.0-3) ... Selecting previously unselected package octave. Preparing to unpack .../450-octave_9.2.0-3+b1_i386.deb ... Unpacking octave (9.2.0-3+b1) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../451-libncurses6_6.5-2+b1_i386.deb ... Unpacking libncurses6:i386 (6.5-2+b1) ... Selecting previously unselected package libncurses-dev:i386. Preparing to unpack .../452-libncurses-dev_6.5-2+b1_i386.deb ... Unpacking libncurses-dev:i386 (6.5-2+b1) ... Selecting previously unselected package libreadline-dev:i386. Preparing to unpack .../453-libreadline-dev_8.2-5_i386.deb ... Unpacking libreadline-dev:i386 (8.2-5) ... Selecting previously unselected package libhdf5-fortran-102t64:i386. Preparing to unpack .../454-libhdf5-fortran-102t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-fortran-102t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package libhdf5-hl-100t64:i386. Preparing to unpack .../455-libhdf5-hl-100t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-hl-100t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package libhdf5-hl-fortran-100t64:i386. Preparing to unpack .../456-libhdf5-hl-fortran-100t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-hl-fortran-100t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package libhdf5-cpp-103-1t64:i386. Preparing to unpack .../457-libhdf5-cpp-103-1t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-cpp-103-1t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package libhdf5-hl-cpp-100t64:i386. Preparing to unpack .../458-libhdf5-hl-cpp-100t64_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-hl-cpp-100t64:i386 (1.10.10+repack-5+b1) ... Selecting previously unselected package zlib1g-dev:i386. Preparing to unpack .../459-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_i386.deb ... Unpacking zlib1g-dev:i386 (1:1.3.dfsg+really1.3.1-1+b1) ... Selecting previously unselected package libjpeg62-turbo-dev:i386. Preparing to unpack .../460-libjpeg62-turbo-dev_1%3a2.1.5-3+b1_i386.deb ... Unpacking libjpeg62-turbo-dev:i386 (1:2.1.5-3+b1) ... Selecting previously unselected package libjpeg-dev:i386. Preparing to unpack .../461-libjpeg-dev_1%3a2.1.5-3+b1_i386.deb ... Unpacking libjpeg-dev:i386 (1:2.1.5-3+b1) ... Selecting previously unselected package libaec-dev:i386. Preparing to unpack .../462-libaec-dev_1.1.3-1+b1_i386.deb ... Unpacking libaec-dev:i386 (1.1.3-1+b1) ... Selecting previously unselected package libbrotli-dev:i386. Preparing to unpack .../463-libbrotli-dev_1.1.0-2+b6_i386.deb ... Unpacking libbrotli-dev:i386 (1.1.0-2+b6) ... Selecting previously unselected package libidn2-dev:i386. Preparing to unpack .../464-libidn2-dev_2.3.7-2+b1_i386.deb ... Unpacking libidn2-dev:i386 (2.3.7-2+b1) ... Selecting previously unselected package libgssrpc4t64:i386. Preparing to unpack .../465-libgssrpc4t64_1.21.3-3_i386.deb ... Unpacking libgssrpc4t64:i386 (1.21.3-3) ... Selecting previously unselected package libkadm5clnt-mit12:i386. Preparing to unpack .../466-libkadm5clnt-mit12_1.21.3-3_i386.deb ... Unpacking libkadm5clnt-mit12:i386 (1.21.3-3) ... Selecting previously unselected package libkdb5-10t64:i386. Preparing to unpack .../467-libkdb5-10t64_1.21.3-3_i386.deb ... Unpacking libkdb5-10t64:i386 (1.21.3-3) ... Selecting previously unselected package libkadm5srv-mit12:i386. Preparing to unpack .../468-libkadm5srv-mit12_1.21.3-3_i386.deb ... Unpacking libkadm5srv-mit12:i386 (1.21.3-3) ... Selecting previously unselected package krb5-multidev:i386. Preparing to unpack .../469-krb5-multidev_1.21.3-3_i386.deb ... Unpacking krb5-multidev:i386 (1.21.3-3) ... Selecting previously unselected package libkrb5-dev:i386. Preparing to unpack .../470-libkrb5-dev_1.21.3-3_i386.deb ... Unpacking libkrb5-dev:i386 (1.21.3-3) ... Selecting previously unselected package libldap-dev:i386. Preparing to unpack .../471-libldap-dev_2.5.18+dfsg-3+b1_i386.deb ... Unpacking libldap-dev:i386 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libpkgconf3:i386. Preparing to unpack .../472-libpkgconf3_1.8.1-4_i386.deb ... Unpacking libpkgconf3:i386 (1.8.1-4) ... Selecting previously unselected package pkgconf-bin. Preparing to unpack .../473-pkgconf-bin_1.8.1-4_i386.deb ... Unpacking pkgconf-bin (1.8.1-4) ... Selecting previously unselected package pkgconf:i386. Preparing to unpack .../474-pkgconf_1.8.1-4_i386.deb ... Unpacking pkgconf:i386 (1.8.1-4) ... Selecting previously unselected package libnghttp2-dev:i386. Preparing to unpack .../475-libnghttp2-dev_1.64.0-1_i386.deb ... Unpacking libnghttp2-dev:i386 (1.64.0-1) ... Selecting previously unselected package libpsl-dev:i386. Preparing to unpack .../476-libpsl-dev_0.21.2-1.1+b1_i386.deb ... Unpacking libpsl-dev:i386 (0.21.2-1.1+b1) ... Selecting previously unselected package libgmpxx4ldbl:i386. Preparing to unpack .../477-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_i386.deb ... Unpacking libgmpxx4ldbl:i386 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libgmp-dev:i386. Preparing to unpack .../478-libgmp-dev_2%3a6.3.0+dfsg-3_i386.deb ... Unpacking libgmp-dev:i386 (2:6.3.0+dfsg-3) ... Selecting previously unselected package libevent-2.1-7t64:i386. Preparing to unpack .../479-libevent-2.1-7t64_2.1.12-stable-10+b1_i386.deb ... Unpacking libevent-2.1-7t64:i386 (2.1.12-stable-10+b1) ... Selecting previously unselected package libunbound8:i386. Preparing to unpack .../480-libunbound8_1.22.0-1_i386.deb ... Unpacking libunbound8:i386 (1.22.0-1) ... Selecting previously unselected package libgnutls-dane0t64:i386. Preparing to unpack .../481-libgnutls-dane0t64_3.8.8-2_i386.deb ... Unpacking libgnutls-dane0t64:i386 (3.8.8-2) ... Selecting previously unselected package libgnutls-openssl27t64:i386. Preparing to unpack .../482-libgnutls-openssl27t64_3.8.8-2_i386.deb ... Unpacking libgnutls-openssl27t64:i386 (3.8.8-2) ... Selecting previously unselected package libp11-kit-dev:i386. Preparing to unpack .../483-libp11-kit-dev_0.25.5-2+b1_i386.deb ... Unpacking libp11-kit-dev:i386 (0.25.5-2+b1) ... Selecting previously unselected package libtasn1-6-dev:i386. Preparing to unpack .../484-libtasn1-6-dev_4.19.0-3+b3_i386.deb ... Unpacking libtasn1-6-dev:i386 (4.19.0-3+b3) ... Selecting previously unselected package nettle-dev:i386. Preparing to unpack .../485-nettle-dev_3.10-1+b1_i386.deb ... Unpacking nettle-dev:i386 (3.10-1+b1) ... Selecting previously unselected package libgnutls28-dev:i386. Preparing to unpack .../486-libgnutls28-dev_3.8.8-2_i386.deb ... Unpacking libgnutls28-dev:i386 (3.8.8-2) ... Selecting previously unselected package librtmp-dev:i386. Preparing to unpack .../487-librtmp-dev_2.4+20151223.gitfa8646d.1-2+b5_i386.deb ... Unpacking librtmp-dev:i386 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssl-dev:i386. Preparing to unpack .../488-libssl-dev_3.3.2-2_i386.deb ... Unpacking libssl-dev:i386 (3.3.2-2) ... Selecting previously unselected package libssh2-1-dev:i386. Preparing to unpack .../489-libssh2-1-dev_1.11.1-1_i386.deb ... Unpacking libssh2-1-dev:i386 (1.11.1-1) ... Selecting previously unselected package libzstd-dev:i386. Preparing to unpack .../490-libzstd-dev_1.5.6+dfsg-1+b1_i386.deb ... Unpacking libzstd-dev:i386 (1.5.6+dfsg-1+b1) ... Selecting previously unselected package libcurl4-openssl-dev:i386. Preparing to unpack .../491-libcurl4-openssl-dev_8.11.1-1_i386.deb ... Unpacking libcurl4-openssl-dev:i386 (8.11.1-1) ... Selecting previously unselected package hdf5-helpers. Preparing to unpack .../492-hdf5-helpers_1.10.10+repack-5+b1_i386.deb ... Unpacking hdf5-helpers (1.10.10+repack-5+b1) ... Selecting previously unselected package libhdf5-dev. Preparing to unpack .../493-libhdf5-dev_1.10.10+repack-5+b1_i386.deb ... Unpacking libhdf5-dev (1.10.10+repack-5+b1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../494-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1.1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../495-x11proto-dev_2024.1-1_all.deb ... Unpacking x11proto-dev (2024.1-1) ... Selecting previously unselected package libxau-dev:i386. Preparing to unpack .../496-libxau-dev_1%3a1.0.11-1_i386.deb ... Unpacking libxau-dev:i386 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp-dev:i386. Preparing to unpack .../497-libxdmcp-dev_1%3a1.1.5-1_i386.deb ... Unpacking libxdmcp-dev:i386 (1:1.1.5-1) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../498-xtrans-dev_1.4.0-1_all.deb ... Unpacking xtrans-dev (1.4.0-1) ... Selecting previously unselected package libxcb1-dev:i386. Preparing to unpack .../499-libxcb1-dev_1.17.0-2+b1_i386.deb ... Unpacking libxcb1-dev:i386 (1.17.0-2+b1) ... Selecting previously unselected package libx11-dev:i386. Preparing to unpack .../500-libx11-dev_2%3a1.8.10-2_i386.deb ... Unpacking libx11-dev:i386 (2:1.8.10-2) ... Selecting previously unselected package libglx-dev:i386. Preparing to unpack .../501-libglx-dev_1.7.0-1+b2_i386.deb ... Unpacking libglx-dev:i386 (1.7.0-1+b2) ... Selecting previously unselected package libgl-dev:i386. Preparing to unpack .../502-libgl-dev_1.7.0-1+b2_i386.deb ... Unpacking libgl-dev:i386 (1.7.0-1+b2) ... Selecting previously unselected package libblas-dev:i386. Preparing to unpack .../503-libblas-dev_3.12.0-4_i386.deb ... Unpacking libblas-dev:i386 (3.12.0-4) ... Selecting previously unselected package liblapack-dev:i386. Preparing to unpack .../504-liblapack-dev_3.12.0-4_i386.deb ... Unpacking liblapack-dev:i386 (3.12.0-4) ... Selecting previously unselected package libfftw3-long3:i386. Preparing to unpack .../505-libfftw3-long3_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-long3:i386 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-quad3:i386. Preparing to unpack .../506-libfftw3-quad3_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-quad3:i386 (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../507-libfftw3-bin_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-bin (3.3.10-2+b1) ... Selecting previously unselected package libfftw3-dev:i386. Preparing to unpack .../508-libfftw3-dev_3.3.10-2+b1_i386.deb ... Unpacking libfftw3-dev:i386 (3.3.10-2+b1) ... Selecting previously unselected package libgfortran-14-dev:i386. Preparing to unpack .../509-libgfortran-14-dev_14.2.0-8_i386.deb ... Unpacking libgfortran-14-dev:i386 (14.2.0-8) ... Selecting previously unselected package gfortran-14-i686-linux-gnu. Preparing to unpack .../510-gfortran-14-i686-linux-gnu_14.2.0-8_i386.deb ... Unpacking gfortran-14-i686-linux-gnu (14.2.0-8) ... Selecting previously unselected package gfortran-14. Preparing to unpack .../511-gfortran-14_14.2.0-8_i386.deb ... Unpacking gfortran-14 (14.2.0-8) ... Selecting previously unselected package gfortran-i686-linux-gnu. Preparing to unpack .../512-gfortran-i686-linux-gnu_4%3a14.2.0-1_i386.deb ... Unpacking gfortran-i686-linux-gnu (4:14.2.0-1) ... Selecting previously unselected package gfortran. Preparing to unpack .../513-gfortran_4%3a14.2.0-1_i386.deb ... Unpacking gfortran (4:14.2.0-1) ... Selecting previously unselected package octave-dev. Preparing to unpack .../514-octave-dev_9.2.0-3+b1_i386.deb ... Unpacking octave-dev (9.2.0-3+b1) ... Selecting previously unselected package dh-octave. Preparing to unpack .../515-dh-octave_1.8.0_all.deb ... Unpacking dh-octave (1.8.0) ... Selecting previously unselected package fonts-lmodern. Preparing to unpack .../516-fonts-lmodern_2.005-1_all.deb ... Unpacking fonts-lmodern (2.005-1) ... Selecting previously unselected package libkpathsea6:i386. Preparing to unpack .../517-libkpathsea6_2024.20240313.70630+ds-5_i386.deb ... Unpacking libkpathsea6:i386 (2024.20240313.70630+ds-5) ... Selecting previously unselected package libmpfi0:i386. Preparing to unpack .../518-libmpfi0_1.5.4+ds-4_i386.deb ... Unpacking libmpfi0:i386 (1.5.4+ds-4) ... Selecting previously unselected package libpaper1:i386. Preparing to unpack .../519-libpaper1_1.1.29+b2_i386.deb ... Unpacking libpaper1:i386 (1.1.29+b2) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../520-libpaper-utils_1.1.29+b2_i386.deb ... Unpacking libpaper-utils (1.1.29+b2) ... Selecting previously unselected package libpotrace0:i386. Preparing to unpack .../521-libpotrace0_1.16-2+b2_i386.deb ... Unpacking libpotrace0:i386 (1.16-2+b2) ... Selecting previously unselected package libptexenc1:i386. Preparing to unpack .../522-libptexenc1_2024.20240313.70630+ds-5_i386.deb ... Unpacking libptexenc1:i386 (2024.20240313.70630+ds-5) ... Selecting previously unselected package libslicot0:i386. Preparing to unpack .../523-libslicot0_5.9-1+b1_i386.deb ... Unpacking libslicot0:i386 (5.9-1+b1) ... Selecting previously unselected package libsynctex2:i386. Preparing to unpack .../524-libsynctex2_2024.20240313.70630+ds-5_i386.deb ... Unpacking libsynctex2:i386 (2024.20240313.70630+ds-5) ... Selecting previously unselected package libteckit0:i386. Preparing to unpack .../525-libteckit0_2.5.12+ds1-1+b1_i386.deb ... Unpacking libteckit0:i386 (2.5.12+ds1-1+b1) ... Selecting previously unselected package libtexlua53-5:i386. Preparing to unpack .../526-libtexlua53-5_2024.20240313.70630+ds-5_i386.deb ... Unpacking libtexlua53-5:i386 (2024.20240313.70630+ds-5) ... Selecting previously unselected package libxt6t64:i386. Preparing to unpack .../527-libxt6t64_1%3a1.2.1-1.2+b1_i386.deb ... Unpacking libxt6t64:i386 (1:1.2.1-1.2+b1) ... Selecting previously unselected package libxmu6:i386. Preparing to unpack .../528-libxmu6_2%3a1.1.3-3+b3_i386.deb ... Unpacking libxmu6:i386 (2:1.1.3-3+b3) ... Selecting previously unselected package libxaw7:i386. Preparing to unpack .../529-libxaw7_2%3a1.0.16-1_i386.deb ... Unpacking libxaw7:i386 (2:1.0.16-1) ... Selecting previously unselected package libxi6:i386. Preparing to unpack .../530-libxi6_2%3a1.8.2-1_i386.deb ... Unpacking libxi6:i386 (2:1.8.2-1) ... Selecting previously unselected package libzzip-0-13t64:i386. Preparing to unpack .../531-libzzip-0-13t64_0.13.72+dfsg.1-1.2+b1_i386.deb ... Unpacking libzzip-0-13t64:i386 (0.13.72+dfsg.1-1.2+b1) ... Selecting previously unselected package octave-control:i386. Preparing to unpack .../532-octave-control_4.0.1-1+b2_i386.deb ... Unpacking octave-control:i386 (4.0.1-1+b2) ... Selecting previously unselected package texlive-binaries. Preparing to unpack .../533-texlive-binaries_2024.20240313.70630+ds-5_i386.deb ... Unpacking texlive-binaries (2024.20240313.70630+ds-5) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../534-xdg-utils_1.2.1-2_all.deb ... Unpacking xdg-utils (1.2.1-2) ... Selecting previously unselected package texlive-base. Preparing to unpack .../535-texlive-base_2024.20241115-1_all.deb ... Unpacking texlive-base (2024.20241115-1) ... Selecting previously unselected package texlive-fonts-recommended. Preparing to unpack .../536-texlive-fonts-recommended_2024.20241115-1_all.deb ... Unpacking texlive-fonts-recommended (2024.20241115-1) ... Selecting previously unselected package texlive-latex-base. Preparing to unpack .../537-texlive-latex-base_2024.20241115-1_all.deb ... Unpacking texlive-latex-base (2024.20241115-1) ... Selecting previously unselected package texlive-latex-recommended. Preparing to unpack .../538-texlive-latex-recommended_2024.20241115-1_all.deb ... Unpacking texlive-latex-recommended (2024.20241115-1) ... Selecting previously unselected package texlive. Preparing to unpack .../539-texlive_2024.20241115-1_all.deb ... Unpacking texlive (2024.20241115-1) ... Setting up libapt-pkg-perl (0.1.40+b6) ... Setting up liblz1:i386 (1.15~rc1-1) ... Setting up libhwy1t64:i386 (1.2.0-2+b1) ... Setting up media-types (10.1.0) ... Setting up libmodule-pluggable-perl (5.2-5) ... Setting up libb2-1:i386 (0.98.1-1.1+b2) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up libgraphite2-3:i386 (1.3.14-2+b1) ... Setting up libstring-escape-perl (2010.002-3) ... Setting up libgnutls-openssl27t64:i386 (3.8.8-2) ... Setting up liblcms2-2:i386 (2.16-2) ... Setting up libberkeleydb-perl:i386 (0.66-1) ... Setting up libpixman-1-0:i386 (0.44.0-3) ... Setting up plzip (1.12~rc1-1) ... update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip (lzip) in auto mode update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip-compressor (lzip-compressor) in auto mode update-alternatives: using /usr/bin/lzip.plzip to provide /usr/bin/lzip-decompressor (lzip-decompressor) in auto mode Setting up libsharpyuv0:i386 (1.4.0-0.1+b1) ... Setting up libwayland-server0:i386 (1.23.0-1+b1) ... Setting up libaom3:i386 (3.11.0-1) ... Setting up libpciaccess0:i386 (0.17-3+b2) ... Setting up libfile-which-perl (1.27-2) ... Setting up libxau6:i386 (1:1.0.11-1) ... Setting up libxdmcp6:i386 (1:1.1.5-1) ... Setting up libdouble-conversion3:i386 (3.3.0-1+b2) ... Setting up libkeyutils1:i386 (1.6.3-4) ... Setting up libxcb1:i386 (1.17.0-2+b1) ... Setting up libunicode-utf8-perl (0.62-2+b3) ... Setting up libfftw3-single3:i386 (3.3.10-2+b1) ... Setting up libset-intspan-perl (1.19-3) ... Setting up libicu72:i386 (72.1-5+b1) ... Setting up libxcb-xfixes0:i386 (1.17.0-2+b1) ... Setting up libogg0:i386 (1.3.5-3+b2) ... Setting up libmouse-perl:i386 (2.5.11-1+b1) ... Setting up libzstd-dev:i386 (1.5.6+dfsg-1+b1) ... Setting up liblerc4:i386 (4.0.0+ds-5) ... Setting up libpod-pom-perl (2.01-4) ... Setting up bsdextrautils (2.40.2-12) ... Setting up hdf5-helpers (1.10.10+repack-5+b1) ... Setting up libwmflite-0.2-7:i386 (0.2.13-1.1+b3) ... Setting up libregexp-pattern-perl (0.2.14-2) ... Setting up libdata-messagepack-perl (1.02-1+b4) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libxcb-xinput0:i386 (1.17.0-2+b1) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libdatrie1:i386 (0.2.13-3+b1) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up liblist-compare-perl (0.55-2) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libxcb-render0:i386 (1.17.0-2+b1) ... Setting up libclone-perl:i386 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:i386 (0.2.5-1+b2) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libcpanel-json-xs-perl:i386 (4.38-1+b1) ... Setting up libglvnd0:i386 (1.7.0-1+b2) ... Setting up libio-stringy-perl (2.113-2) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up libts0t64:i386 (1.22-1.1+b1) ... Setting up liblog-any-perl (1.717-1) ... Setting up libyaml-pp-perl (0.38.0-1) ... Setting up libxcb-glx0:i386 (1.17.0-2+b1) ... Setting up libdevel-size-perl (0.84-1+b1) ... Setting up unzip (6.0-28) ... Setting up libdebhelper-perl (13.20) ... Setting up libbrotli1:i386 (1.1.0-2+b6) ... Setting up libedit2:i386 (3.1-20240808-1) ... Setting up libregexp-pattern-license-perl (3.11.2-1) ... Setting up libconvert-binhex-perl (1.125-3) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:i386 (1:5.45-3+b1) ... Setting up libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Setting up fonts-freefont-otf (20211204+svn4273-2) ... Setting up libio-interactive-perl (1.025-1) ... Setting up libxcb-keysyms1:i386 (0.4.0-1+b3) ... Setting up libxcb-shape0:i386 (1.17.0-2+b1) ... Setting up x11-common (1:7.7+23.1) ... 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.32-1) ... Setting up libsensors-config (1:3.6.0-10) ... Setting up libpsl5t64:i386 (0.21.2-1.1+b1) ... Setting up libnghttp2-14:i386 (1.64.0-1) ... Setting up libdeflate0:i386 (1.22-1) ... Setting up perl-openssl-defaults:i386 (7+b2) ... Setting up libmldbm-perl (2.05-4) ... Setting up libxml-namespacesupport-perl (1.12-2) ... Setting up libfftw3-long3:i386 (3.3.10-2+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libevent-2.1-7t64:i386 (2.1.12-stable-10+b1) ... Setting up libclone-choose-perl (0.010-2) ... Setting up libqhull-r8.0:i386 (2020.2-6+b2) ... Setting up libxcb-render-util0:i386 (0.3.9-1+b2) ... Setting up xkb-data (2.42-1) ... Setting up liblzo2-2:i386 (2.10-3+b1) ... Setting up libtime-moment-perl (0.44-2+b4) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libxcb-shm0:i386 (1.17.0-2+b1) ... Setting up libxcb-icccm4:i386 (0.4.2-1) ... Setting up libcom-err2:i386 (1.47.2~rc1-2) ... Setting up file (1:5.45-3+b1) ... Setting up texinfo-lib (7.1.1-1+b1) ... Setting up libmpg123-0t64:i386 (1.32.9-1) ... Setting up libconfig-tiny-perl (2.30-1) ... Setting up libsereal-encoder-perl (5.004+ds-1+b3) ... Setting up liblist-utilsby-perl (0.12-2) ... Setting up libyaml-tiny-perl (1.74-1) ... Setting up libjbig0:i386 (2.1-6.1+b2) ... Setting up octave-common (9.2.0-3) ... Setting up libregexp-common-perl (2024080801-1) ... Setting up libpcre2-16-0:i386 (10.44-5) ... Setting up libaec0:i386 (1.1.3-1+b1) ... Setting up libnet-netmask-perl (2.0002-2) ... Setting up libopengl0:i386 (1.7.0-1+b2) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:i386 (0.192-4) ... Setting up libxcb-util1:i386 (0.4.0-1+b2) ... Setting up libpsl-dev:i386 (0.21.2-1.1+b1) ... Setting up libindirect-perl (0.39-2+b4) ... Setting up libxcb-xkb1:i386 (1.17.0-2+b1) ... Setting up libxcb-image0:i386 (0.4.0-2+b2) ... Setting up libkrb5support0:i386 (1.21.3-3) ... Setting up libnumber-compare-perl (0.03-3) ... Setting up libsasl2-modules-db:i386 (2.1.28+dfsg1-8) ... Setting up tzdata (2024b-4) ... Current default time zone: 'Etc/UTC' Local time is now: Sun Jan 18 02:24:18 UTC 2026. Universal Time is now: Sun Jan 18 02:24:18 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libxcb-present0:i386 (1.17.0-2+b1) ... Setting up liberror-perl (0.17029-2) ... Setting up libasound2-data (1.2.12-1) ... Setting up libjson-maybexs-perl (1.004008-1) ... Setting up libxml-sax-base-perl (1.09-3) ... Setting up libio-string-perl (1.08-4) ... Setting up libboolean-perl (0.46-3) ... Setting up libnetaddr-ip-perl (4.079+dfsg-2+b4) ... Setting up xtrans-dev (1.4.0-1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:i386 (4.13.3-1) ... Setting up libglib2.0-0t64:i386 (2.82.3-2) ... No schema files found: doing nothing. Setting up libblas3:i386 (3.12.0-4) ... update-alternatives: using /usr/lib/i386-linux-gnu/blas/libblas.so.3 to provide /usr/lib/i386-linux-gnu/libblas.so.3 (libblas.so.3-i386-linux-gnu) in auto mode Setting up libclass-data-inheritable-perl (0.10-1) ... Setting up libunbound8:i386 (1.22.0-1) ... Setting up libpkgconf3:i386 (1.8.1-4) ... Setting up libgmpxx4ldbl:i386 (2:6.3.0+dfsg-3) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libasound2t64:i386 (1.2.12-1+b1) ... Setting up liblog-log4perl-perl (1.57-1) ... Setting up libtext-reform-perl (1.20-5) ... Setting up libjpeg62-turbo:i386 (1:2.1.5-3+b1) ... Setting up libzzip-0-13t64:i386 (0.13.72+dfsg.1-1.2+b1) ... Setting up libgnutls-dane0t64:i386 (3.8.8-2) ... Setting up libx11-data (2:1.8.10-2) ... Setting up libsvtav1enc2:i386 (2.2.1+dfsg-2) ... Setting up libjpeg62-turbo-dev:i386 (1:2.1.5-3+b1) ... Setting up libfile-find-rule-perl (0.34-3) ... Setting up libxcb-sync1:i386 (1.17.0-2+b1) ... Setting up librtmp1:i386 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libipc-system-simple-perl (1.30-2) ... Setting up libio-tiecombine-perl (1.005-3) ... Setting up libnet-domain-tld-perl (1.75-4) ... Setting up libteckit0:i386 (2.5.12+ds1-1+b1) ... Setting up libperlio-utf8-strict-perl (0.010-1+b3) ... Setting up aglfn (1.7+git20191031.4036a9c-2) ... Setting up libxcb-cursor0:i386 (0.1.4-1+b2) ... Setting up libavahi-common-data:i386 (0.8-15) ... Setting up libncurses6:i386 (6.5-2+b1) ... Setting up libdbus-1-3:i386 (1.15.92-1) ... Setting up libfftw3-quad3:i386 (3.3.10-2+b1) ... Setting up libfribidi0:i386 (1.0.16-1) ... Setting up libopus0:i386 (1.5.2-2) ... Setting up t1utils (1.41-4) ... Setting up libtexlua53-5:i386 (2024.20240313.70630+ds-5) ... Setting up diffstat (1.67-1) ... Setting up libimagequant0:i386 (2.18.0-1+b2) ... Setting up libproc2-0:i386 (2:4.0.4-6) ... Setting up comerr-dev:i386 (2.1-1.47.2~rc1-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libssl-dev:i386 (3.3.2-2) ... Setting up libpng16-16t64:i386 (1.6.44-2) ... Setting up libimath-3-1-29t64:i386 (3.1.12-1+b1) ... Setting up libvorbis0a:i386 (1.3.7-2+b1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up libtext-template-perl (1.61-1) ... Setting up libpod-parser-perl (1.67-1) ... Setting up autopoint (0.22.5-2) ... Setting up libb-hooks-op-check-perl:i386 (0.22-3+b2) ... Setting up libmpfi0:i386 (1.5.4+ds-4) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up liblist-moreutils-xs-perl (0.430-4+b2) ... Setting up pkgconf-bin (1.8.1-4) ... Setting up libsensors5:i386 (1:3.6.0-10+b1) ... Setting up libk5crypto3:i386 (1.21.3-3) ... Setting up libqscintilla2-qt6-l10n (2.14.1+dfsg-1) ... Setting up libltdl7:i386 (2.4.7-8) ... Setting up libidn2-dev:i386 (2.3.7-2+b1) ... Setting up libfftw3-double3:i386 (3.3.10-2+b1) ... Setting up libglapi-mesa:i386 (24.2.8-1) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libkpathsea6:i386 (2024.20240313.70630+ds-5) ... Setting up libsasl2-2:i386 (2.1.28+dfsg1-8) ... Setting up libgfortran5:i386 (14.2.0-8) ... Setting up libvulkan1:i386 (1.3.296.0-1) ... Setting up libtime-duration-perl (1.21-2) ... Setting up autoconf (2.72-3) ... Setting up libtext-xslate-perl:i386 (3.5.9-2+b1) ... Setting up libnghttp3-9:i386 (1.6.0-2) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libwebp7:i386 (1.4.0-0.1+b1) ... Setting up libarray-intspan-perl (2.004-2) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libexporter-lite-perl (0.09-2) ... Setting up libxcb-dri2-0:i386 (1.17.0-2+b1) ... Setting up libsub-name-perl:i386 (0.27-1+b3) ... Setting up libgif7:i386 (5.2.2-1+b1) ... Setting up zlib1g-dev:i386 (1:1.3.dfsg+really1.3.1-1+b1) ... Setting up dwz (0.15-1+b1) ... Setting up libdata-validate-domain-perl (0.15-1) ... Setting up libproc-processtable-perl:i386 (0.636-1+b3) ... Setting up libparse-recdescent-perl (1.967015+dfsg-4) ... Setting up libdav1d7:i386 (1.5.0-1+b1) ... Setting up libmtdev1t64:i386 (1.1.6-1.2+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libduktape207:i386 (2.7.0-2+b2) ... Setting up libxshmfence1:i386 (1.3-1+b2) ... Setting up libtiff6:i386 (4.5.1+git230720-5) ... Setting up libxcb-randr0:i386 (1.17.0-2+b1) ... Setting up librav1e0.7:i386 (0.7.1-7+b2) ... Setting up libpath-tiny-perl (0.146-1) ... Setting up libuchardet0:i386 (0.0.8-1+b2) ... Setting up lzop (1.04-2) ... Setting up libassuan9:i386 (3.0.1-2) ... Setting up procps (2:4.0.4-6) ... Setting up libjson-perl (4.10000-1) ... Setting up liblog-any-adapter-screen-perl (0.141-1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libipc-run3-perl (0.049-1) ... Setting up libmd4c0:i386 (0.5.2-2+b1) ... Setting up libregexp-wildcards-perl (1.05-3) ... Setting up libmousex-strictconstructor-perl (0.02-3) ... Setting up fonts-lmodern (2.005-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up libsuitesparseconfig7:i386 (1:7.8.3+dfsg-2) ... Setting up liblua5.4-0:i386 (5.4.7-1+b1) ... Setting up libx11-6:i386 (2:1.8.10-2) ... Setting up libaliased-perl (0.34-3) ... Setting up libthai-data (0.1.29-2) ... Setting up xorg-sgml-doctools (1:1.11-1.1) ... Setting up netbase (6.4) ... Setting up libabsl20230802:i386 (20230802.1-4) ... Setting up libngtcp2-16:i386 (1.9.1-1) ... Setting up libstrictures-perl (2.000006-1) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b4) ... Setting up libtext-autoformat-perl (1.750000-2) ... Setting up libkrb5-3:i386 (1.21.3-3) ... Setting up libglu1-mesa:i386 (9.0.2-1.1+b2) ... Setting up libflac12t64:i386 (1.4.3+ds-2.1+b1) ... Setting up libtoml-tiny-perl (0.18-1) ... Setting up libstemmer0d:i386 (2.2.0-4+b2) ... Setting up libsort-versions-perl (1.62-3) ... Setting up libssh2-1t64:i386 (1.11.1-1) ... Setting up libexporter-tiny-perl (1.006002-1) ... Setting up libterm-readkey-perl (2.38-2+b4) ... Setting up libtext-unidecode-perl (1.30-3) ... Setting up libde265-0:i386 (1.0.15-1+b2) ... Setting up libfont-ttf-perl (1.06-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up libsamplerate0:i386 (0.2.2-4+b2) ... Setting up libtasn1-6-dev:i386 (4.19.0-3+b3) ... Setting up openssl (3.3.2-2) ... Setting up libwebpmux3:i386 (1.4.0-0.1+b1) ... Setting up libtext-levenshteinxs-perl (0.03-5+b4) ... Setting up libperlio-gzip-perl (0.20-1+b4) ... Setting up libdrm-common (2.4.123-1) ... Setting up libyuv0:i386 (0.0.1898.20241125-1) ... Setting up libevdev2:i386 (1.13.3+dfsg-1) ... Setting up readline-common (8.2-5) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libhtml-html5-entities-perl (0.004-3) ... Setting up xdg-utils (1.2.1-2) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up libtext-levenshtein-damerau-perl (0.41-3) ... Setting up libsereal-decoder-perl (5.004+ds-1+b3) ... Setting up libmarkdown2:i386 (2.2.7-2.1) ... Setting up liburi-perl (5.30-1) ... Setting up iso-codes (4.17.0-1) ... Setting up libnet-ipv6addr-perl (1.02-1) ... Setting up libbrotli-dev:i386 (1.1.0-2+b6) ... Setting up libgudev-1.0-0:i386 (238-5+b1) ... Setting up libngtcp2-crypto-gnutls8:i386 (1.9.1-1) ... Setting up libp11-kit-dev:i386 (0.25.5-2+b1) ... Setting up libmp3lame0:i386 (3.100-6+b3) ... Setting up libblas-dev:i386 (3.12.0-4) ... update-alternatives: using /usr/lib/i386-linux-gnu/blas/libblas.so to provide /usr/lib/i386-linux-gnu/libblas.so (libblas.so-i386-linux-gnu) in auto mode Setting up libsz2:i386 (1.1.3-1+b1) ... Setting up libvorbisenc2:i386 (1.3.7-2+b1) ... Setting up libsynctex2:i386 (2024.20240313.70630+ds-5) ... Setting up libdata-validate-ip-perl (0.31-1) ... Setting up libwacom-common (2.13.0-1) ... Setting up libmousex-nativetraits-perl (1.09-3) ... Setting up libemail-address-xs-perl (1.05-1+b4) ... Setting up libxkbcommon0:i386 (1.6.0-1+b2) ... Setting up libpotrace0:i386 (1.16-2+b2) ... Setting up libwayland-client0:i386 (1.23.0-1+b1) ... Setting up libnet-ssleay-perl:i386 (1.94-2) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libgfortran-14-dev:i386 (14.2.0-8) ... Setting up x11proto-dev (2024.1-1) ... Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libxcb-dri3-0:i386 (1.17.0-2+b1) ... Setting up gnuplot-data (6.0.0+dfsg1-3) ... Setting up libllvm19:i386 (1:19.1.5-1) ... Setting up libx11-xcb1:i386 (2:1.8.10-2) ... Setting up libice6:i386 (2:1.1.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up liblapack3:i386 (3.12.0-4) ... update-alternatives: using /usr/lib/i386-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/i386-linux-gnu/liblapack.so.3 (liblapack.so.3-i386-linux-gnu) in auto mode Setting up libncurses-dev:i386 (6.5-2+b1) ... Setting up libfile-basedir-perl (0.09-2) ... Setting up gettext (0.22.5-2) ... Setting up libarpack2t64:i386 (3.9.1-4) ... Setting up libgmp-dev:i386 (2:6.3.0+dfsg-3) ... Setting up libamd3:i386 (1:7.8.3+dfsg-2) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libxau-dev:i386 (1:1.0.11-1) ... Setting up libxpm4:i386 (1:3.5.17-1+b2) ... Setting up nettle-dev:i386 (3.10-1+b1) ... Setting up libxrender1:i386 (1:0.9.10-1.1+b2) ... Setting up libtool (2.4.7-8) ... Setting up libcolamd3:i386 (1:7.8.3+dfsg-2) ... Setting up libfftw3-bin (3.3.10-2+b1) ... Setting up libwacom9:i386 (2.13.0-1) ... Setting up fontconfig-config (2.15.0-1.1+b1) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libslicot0:i386 (5.9-1+b1) ... Setting up libxmlb2:i386 (0.3.21-1) ... Setting up libpod-constants-perl (0.19-2) ... Setting up libhash-merge-perl (0.302-1) ... Setting up libsoftware-copyright-perl (0.012-2) ... Setting up libaec-dev:i386 (1.1.3-1+b1) ... Setting up libavahi-common3:i386 (0.8-15) ... Setting up libcxsparse4:i386 (1:7.8.3+dfsg-2) ... Setting up libjpeg-dev:i386 (1:2.1.5-3+b1) ... Setting up libxext6:i386 (2:1.3.4-1+b2) ... Setting up libnet-http-perl (6.23-1) ... Setting up libpath-iterator-rule-perl (1.015-2) ... Setting up libtext-markdown-discount-perl (0.16-1+b3) ... Setting up libexception-class-perl (1.45-1) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libqrupdate1:i386 (1.1.5-1) ... Setting up libdevel-callchecker-perl:i386 (0.009-1+b1) ... Setting up libldap-2.5-0:i386 (2.5.18+dfsg-3+b1) ... Setting up libcamd3:i386 (1:7.8.3+dfsg-2) ... Setting up pkgconf:i386 (1.8.1-4) ... Setting up libxxf86vm1:i386 (1:1.1.4-1+b3) ... Setting up libinput-bin (1.26.2-1) ... Setting up libxs-parse-sublike-perl:i386 (0.30-1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up patchutils (0.4.2-1) ... Setting up libthai0:i386 (0.1.29-2+b1) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libxdmcp-dev:i386 (1:1.1.5-1) ... Setting up libdata-validate-uri-perl (0.07-3) ... Setting up libxs-parse-keyword-perl (0.47-1) ... Setting up libptexenc1:i386 (2024.20240313.70630+ds-5) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libfreetype6:i386 (2.13.3+dfsg-1) ... Setting up libglpk40:i386 (5.0-1+b2) ... Setting up libxfixes3:i386 (1:6.0.0-2+b2) ... Setting up libstring-copyright-perl (0.003014-1) ... Setting up libldap-dev:i386 (2.5.18+dfsg-3+b1) ... Setting up libopenexr-3-1-30:i386 (3.1.5-5.1+b3) ... Setting up shared-mime-info (2.4-5+b1) ... Setting up libxinerama1:i386 (2:1.1.4-3+b2) ... Setting up libxkbcommon-x11-0:i386 (1.6.0-1+b2) ... Setting up liblapack-dev:i386 (3.12.0-4) ... update-alternatives: using /usr/lib/i386-linux-gnu/lapack/liblapack.so to provide /usr/lib/i386-linux-gnu/liblapack.so (liblapack.so-i386-linux-gnu) in auto mode Setting up gfortran-14-i686-linux-gnu (14.2.0-8) ... Setting up libgssapi-krb5-2:i386 (1.21.3-3) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up libgav1-1:i386 (0.19.0-2+b2) ... Setting up ucf (3.0045) ... Setting up libssh2-1-dev:i386 (1.11.1-1) ... Setting up libccolamd3:i386 (1:7.8.3+dfsg-2) ... Setting up libreadline8t64:i386 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up libsyntax-keyword-try-perl (0.30-1+b1) ... Setting up libjack-jackd2-0:i386 (1.9.22~dfsg-3) ... Setting up libdrm2:i386 (2.4.123-1) ... Setting up groff-base (1.23.0-6) ... Setting up libhtml-parser-perl:i386 (3.83-1+b1) ... Setting up gpgconf (2.2.45-2) ... Setting up libharfbuzz0b:i386 (10.1.0-1) ... Setting up libfontconfig1:i386 (2.15.0-1.1+b1) ... Setting up libsndfile1:i386 (1.2.2-1+b3) ... Setting up libmro-compat-perl (0.15-2) ... Setting up gfortran-14 (14.2.0-8) ... Setting up libsm6:i386 (2:1.2.4-1) ... Setting up libfftw3-dev:i386 (3.3.10-2+b1) ... Setting up libavahi-client3:i386 (0.8-15) ... Setting up libio-socket-ssl-perl (2.089-1) ... Setting up gpg (2.2.45-2) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libhttp-message-perl (7.00-2) ... Setting up libdrm-amdgpu1:i386 (2.4.123-1) ... Setting up libhtml-form-perl (6.12-1) ... Setting up libiterator-perl (0.03+ds1-2) ... Setting up libgnutls28-dev:i386 (3.8.8-2) ... Setting up libinput10:i386 (1.26.2-1) ... Setting up libpaper1:i386 (1.1.29+b2) ... Creating config file /etc/papersize with new version Setting up libnghttp2-dev:i386 (1.64.0-1) ... Setting up libportaudio2:i386 (19.6.0-1.2+b3) ... Setting up libqt6core6t64:i386 (6.7.2+dfsg-5) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up fontconfig (2.15.0-1.1+b1) ... Regenerating fonts cache... done. Setting up libavif16:i386 (1.1.1-1) ... Setting up libcarp-assert-more-perl (2.5.0-1) ... Setting up libcholmod5:i386 (1:7.8.3+dfsg-2) ... Setting up libxft2:i386 (2.3.6-1+b2) ... Setting up libfeature-compat-try-perl (0.05-1) ... Setting up libxcb1-dev:i386 (1.17.0-2+b1) ... Setting up libxi6:i386 (2:1.8.2-1) ... Setting up libiterator-util-perl (0.02+ds1-2) ... Setting up libcurl4t64:i386 (8.11.1-1) ... Setting up libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up libspqr4:i386 (1:7.8.3+dfsg-2) ... Setting up libdrm-radeon1:i386 (2.4.123-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libxcursor1:i386 (1:1.2.2-1+b1) ... Setting up libparams-classify-perl:i386 (0.015-2+b4) ... Setting up libpango-1.0-0:i386 (1.55.0+ds-3) ... Setting up libdrm-intel1:i386 (2.4.123-1) ... Setting up libcgi-pm-perl (4.66-1) ... Setting up libx11-dev:i386 (2:1.8.10-2) ... Setting up libcurl3t64-gnutls:i386 (8.11.1-1) ... Setting up libjxl0.9:i386 (0.9.2-10+b1) ... Setting up libappstream5:i386 (1.0.4-1) ... Setting up libpaper-utils (1.1.29+b2) ... Setting up libreadline-dev:i386 (8.2-5) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libxml-sax-perl (1.02+dfsg-4) ... 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 libcairo2:i386 (1.18.2-2) ... Setting up libobject-pad-perl (0.816-1) ... Setting up tex-common (6.18) ... update-language: texlive-base not installed and configured, doing nothing! Setting up appstream (1.0.4-1) ... ? Metadata cache was updated successfully. Setting up libnet-smtp-ssl-perl (1.04-2) ... Setting up libqt6xml6:i386 (6.7.2+dfsg-5) ... Setting up gfortran-i686-linux-gnu (4:14.2.0-1) ... Setting up libqt6sql6:i386 (6.7.2+dfsg-5) ... Setting up libmodule-runtime-perl (0.016-2) ... Setting up libmailtools-perl (2.22-1) ... Setting up libgssrpc4t64:i386 (1.21.3-3) ... Setting up libraqm0:i386 (0.10.2-1) ... Setting up libconfig-model-perl (2.155-1) ... Setting up libxt6t64:i386 (1:1.2.1-1.2+b1) ... Setting up librtmp-dev:i386 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libxml-libxml-perl (2.0207+dfsg+really+2.0134-5+b1) ... 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 libumfpack6:i386 (1:7.8.3+dfsg-2) ... Setting up libconst-fast-perl (0.014-2) ... Setting up libdata-section-perl (0.200008-1) ... Setting up libnsl2:i386 (1.3.0-3+b3) ... Setting up libqt6core5compat6:i386 (6.7.2-3) ... Setting up libpangoft2-1.0-0:i386 (1.55.0+ds-3) ... Setting up libhdf5-103-1t64:i386 (1.10.10+repack-5+b1) ... Setting up libdata-dpath-perl (0.60-1) ... Setting up libfltk1.3t64:i386 (1.3.8-6.1+b1) ... Setting up libcups2t64:i386 (2.4.10-2) ... Setting up libstring-rewriteprefix-perl (0.009-1) ... Setting up libpangocairo-1.0-0:i386 (1.55.0+ds-3) ... Setting up libqt6dbus6:i386 (6.7.2+dfsg-5) ... Setting up libkadm5clnt-mit12:i386 (1.21.3-3) ... Setting up libconfig-model-backend-yaml-perl (2.134-2) ... Setting up libhdf5-hl-100t64:i386 (1.10.10+repack-5+b1) ... Setting up mesa-libgallium:i386 (24.2.8-1) ... Setting up libproxy1v5:i386 (0.5.9-1) ... Setting up libxmu6:i386 (2:1.1.3-3+b3) ... Setting up libpython3.12-stdlib:i386 (3.12.8-3) ... Setting up libkdb5-10t64:i386 (1.21.3-3) ... Setting up libgbm1:i386 (24.2.8-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up python3.12 (3.12.8-3) ... Setting up libhdf5-cpp-103-1t64:i386 (1.10.10+repack-5+b1) ... Setting up libgl1-mesa-dri:i386 (24.2.8-1) ... Setting up liblist-someutils-perl (0.59-1) ... Setting up libhdf5-fortran-102t64:i386 (1.10.10+repack-5+b1) ... Setting up debhelper (13.20) ... Setting up libxaw7:i386 (2:1.0.16-1) ... Setting up libmime-tools-perl (5.515-1) ... Setting up gfortran (4:14.2.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 libsoftware-license-perl (0.104006-1) ... Setting up libclass-load-perl (0.25-2) ... Setting up libfeature-compat-class-perl (0.07-1) ... Setting up libegl-mesa0:i386 (24.2.8-1) ... Setting up texinfo (7.1.1-1) ... Running mktexlsr. This may take some time. ... done. Setting up texlive-binaries (2024.20240313.70630+ds-5) ... update-alternatives: using /usr/bin/xdvi-xaw to provide /usr/bin/xdvi.bin (xdvi.bin) in auto mode update-alternatives: using /usr/bin/bibtex.original to provide /usr/bin/bibtex (bibtex) in auto mode Setting up libqt6network6:i386 (6.7.2+dfsg-5) ... Setting up libkadm5srv-mit12:i386 (1.21.3-3) ... Setting up libegl1:i386 (1.7.0-1+b2) ... Setting up libmoox-aliases-perl (0.001006-2) ... Setting up libhdf5-hl-cpp-100t64:i386 (1.10.10+repack-5+b1) ... Setting up libparams-validate-perl:i386 (1.31-2+b3) ... Setting up libb-hooks-endofscope-perl (0.28-1) ... Setting up texlive-base (2024.20241115-1) ... tl-paper: setting paper size for dvips to a4: /var/lib/texmf/dvips/config/config-paper.ps tl-paper: setting paper size for dvipdfmx to a4: /var/lib/texmf/dvipdfmx/dvipdfmx-paper.cfg tl-paper: setting paper size for xdvi to a4: /var/lib/texmf/xdvi/XDvi-paper tl-paper: setting paper size for pdftex to a4: /var/lib/texmf/tex/generic/tex-ini-files/pdftexconfig.tex Setting up libpython3-stdlib:i386 (3.12.6-1) ... Setting up krb5-multidev:i386 (1.21.3-3) ... Setting up libglx-mesa0:i386 (24.2.8-1) ... Setting up libglx0:i386 (1.7.0-1+b2) ... Setting up libsoftware-licensemoreutils-perl (1.009-1) ... Setting up libhdf5-hl-fortran-100t64:i386 (1.10.10+repack-5+b1) ... Setting up python3 (3.12.6-1) ... Setting up libkrb5-dev:i386 (1.21.3-3) ... Setting up libgl1:i386 (1.7.0-1+b2) ... Setting up libqt6gui6:i386 (6.7.2+dfsg-5) ... Setting up texlive-latex-base (2024.20241115-1) ... Setting up libcurl4-openssl-dev:i386 (8.11.1-1) ... Setting up texlive-latex-recommended (2024.20241115-1) ... Setting up libhdf5-dev (1.10.10+repack-5+b1) ... update-alternatives: using /usr/lib/i386-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/i386-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up libnamespace-clean-perl (0.27-2) ... Setting up libstring-license-perl (0.0.11-1) ... Setting up libgetopt-long-descriptive-perl (0.115-1) ... Setting up texlive-fonts-recommended (2024.20241115-1) ... Setting up libglx-dev:i386 (1.7.0-1+b2) ... Setting up libgl-dev:i386 (1.7.0-1+b2) ... Setting up licensecheck (3.3.9-1) ... Setting up texlive (2024.20241115-1) ... Setting up libapp-cmd-perl (0.336-1) ... Setting up libqt6opengl6:i386 (6.7.2+dfsg-5) ... Setting up libgl2ps1.4 (1.4.2+dfsg1-2) ... Setting up libqt6widgets6:i386 (6.7.2+dfsg-5) ... Setting up libfltk-gl1.3t64:i386 (1.3.8-6.1+b1) ... Setting up cme (1.041-1) ... Setting up libqt6openglwidgets6:i386 (6.7.2+dfsg-5) ... Setting up libqt6printsupport6:i386 (6.7.2+dfsg-5) ... Setting up libqt6help6:i386 (6.7.2-6) ... Setting up libqscintilla2-qt6-15:i386 (2.14.1+dfsg-1+b4) ... Setting up libheif-plugin-dav1d:i386 (1.19.3-1) ... Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libheif-plugin-libde265:i386 (1.19.3-1) ... Setting up libwww-perl (6.77-1) ... Setting up libheif1:i386 (1.19.3-1) ... Setting up libparse-debcontrol-perl (2.005-6) ... Setting up libhtml-tokeparser-simple-perl (3.16-4) ... Setting up libwww-mechanize-perl (2.19-1) ... Setting up libgd3:i386 (2.3.3-12+b1) ... Setting up gnuplot-nox (6.0.0+dfsg1-3) ... update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode Setting up libgraphicsmagick-q16-3t64 (1.4+really1.3.45-1+b1) ... Setting up lintian (2.121.1) ... Setting up libgraphicsmagick++-q16-12t64 (1.4+really1.3.45-1+b1) ... Setting up libconfig-model-dpkg-perl (3.006) ... Setting up dh-octave-autopkgtest (1.8.0) ... Setting up octave (9.2.0-3+b1) ... Setting up octave-dev (9.2.0-3+b1) ... Setting up dh-octave (1.8.0) ... Setting up octave-control:i386 (4.0.1-1+b2) ... Processing triggers for libc-bin (2.40-4) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Processing triggers for tex-common (6.18) ... Running updmap-sys. This may take some time... done. Running mktexlsr /var/lib/texmf ... done. Building format(s) --all. This may take some time... 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/reproducible-path/octave-signal-1.4.6/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../octave-signal_1.4.6-1_source.changes dpkg-buildpackage: info: source package octave-signal dpkg-buildpackage: info: source version 1.4.6-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Rafael Laboissière dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean --buildsystem=octave dh_auto_clean -O--buildsystem=octave dh_octave_clean make[1]: Entering directory '/build/reproducible-path/octave-signal-1.4.6' /bin/sh: 1: hg: not found make[1]: hg: No such file or directory rm -f -f doc/signal.html rm -f -f doc/signal.qhc rm -f -f doc/signal.qch rm -f -f doc/signal.info rm -f -f doc/functions.texi rm -f -f doc/version.texi rm -rf signal-1.4.6 signal-1.4.6.tar.gz signal-html.tar.gz signal-html cd src && make clean make[2]: Entering directory '/build/reproducible-path/octave-signal-1.4.6/src' rm -f *.o *.oct PKG_* make[2]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6/src' make[1]: *** No rule to make target 'distclean'. make[1]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6' make[1]: Entering directory '/build/reproducible-path/octave-signal-1.4.6/src' rm -f *.o *.oct PKG_* make[1]: *** No rule to make target 'distclean'. make[1]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6/src' dh_autoreconf_clean -O--buildsystem=octave dh_clean -O--buildsystem=octave debian/rules binary dh binary --buildsystem=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 debian/rules execute_before_dh_auto_build make[1]: Entering directory '/build/reproducible-path/octave-signal-1.4.6' mkdir .hg touch .hg/dirstate chmod +x doc/mkfuncdocs.py doc/mkqhcp.py make -k doc make[2]: Entering directory '/build/reproducible-path/octave-signal-1.4.6' /bin/sh: 1: hg: not found make[2]: hg: No such file or directory cd doc && ./mkfuncdocs.py --src-dir=../inst/ --src-dir=../src/ ../INDEX | sed 's/@seealso/@xseealso/g' > functions.texi Generating doc/version.texi # extract html cd doc && SOURCE_DATE_EPOCH= makeinfo --html --css-ref=signal.css --no-headers --no-split signal.texi # try also create qch file if can cd doc && ./mkqhcp.py signal && true signal.qhcp -o signal.qhc cd doc && rm -f -f signal.qhcp signal.qhp cd doc && makeinfo signal.texi make[2]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6' # Fix for makeinfo error: # "@group invalid in context where filling is enabled" sed -i -e 's/^@\(end \|\)group$//' doc/functions.texi cd doc && makeinfo --pdf --output=signal.pdf signal.texi functions.texi:110: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:120: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:244: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:428: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:438: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:446: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:574: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:589: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:615: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:641: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:2172: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:2266: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:2322: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:2493: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3324: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3360: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3431: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3470: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3481: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3659: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3919: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:3976: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4551: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4564: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4605: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4819: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4837: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4857: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4870: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:4889: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:5395: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:5462: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:5586: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:5763: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) functions.texi:5772: warning: @noindent is useless inside of a paragraph (possibly involving @xseealso) This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2025/dev/Debian) (preloaded format=pdfetex) restricted \write18 enabled. entering extended mode (./signal.texi (/usr/share/texmf/tex/texinfo/texinfo.tex Loading texinfo [version 2023-09-19.19]: pdf, fonts, glyphs, page headings, tables, conditionals, indexing, sectioning, toc, environments, defuns, macros, cross references, insertions, localization, formatting, microtype, and turning on texinfo input format.) (/build/reproducible-path/octave-signal-1.4.6/doc/version.texi) (/build/reproducible-path/octave-signal-1.4.6/doc/macros.texi) Chapter 1 Writing index file signal.cp Chapter 2 [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] Chapter 3 [2] (/build/reproducible-path/octave-signal-1.4.6/doc/functions.texi Writing index file signal.fn Overfull \hbox (24.7901pt too wide) in paragraph at lines 85--85 [] @texttt specgram (chirp ([0:0.001:5])); # default linear chirp of 0-100Hz in 1 sec[] [3] [4] [5] [6] Overfull \hbox (53.53354pt too wide) in paragraph at lines 314--314 [] @texttt set (gca, "ydir", "normal"); # put the ^^My^^M direction in the correct direction[] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Underfull \hbox (badness 7047) in paragraph at lines 1259--1263 []@textrm As a fur-ther op-ti-miza-tion when nfft@texttt >>@textrm length(a), the IIR fil-ter (b,a) is con- Underfull \hbox (badness 10000) in paragraph at lines 1259--1263 @textrm verted to the FIR fil-ter conv(b,fliplr(conj(a))). For fur-ther de-tai ls, see [18] [19] [20] Overfull \hbox (12.06592pt too wide) in paragraph at lines 1523--1525 []@textrm For the the-ory of op-er-a-tion, see `@texttt http://ccrma.stanford. edu/~jos/filters/residued.html[]@textrm '[] [21] Overfull \hbox (12.06592pt too wide) in paragraph at lines 1553--1555 []@textrm For the the-ory of op-er-a-tion, see `@texttt http://ccrma.stanford. edu/~jos/filters/residuez.html[]@textrm '[] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] Warning: unbalanced parentheses in @def... [38] [39] Overfull \hbox (36.28748pt too wide) in paragraph at lines 3066--3066 []@texttt h = cl2bp(30, 0.3*pi, 0.6*pi, [0.02, 1.02, 0.02], [-0.02, 0.98, -0.0 2], 2^11);[][] [40] Underfull \hbox (badness 10000) in paragraph at lines 3185--3187 []@textrm I. Se-lesnick, @texttt "@textrm Linear-Phase FIR Fil-ter De-sign by Least Squares,@texttt " [41] Overfull \hbox (30.53879pt too wide) in paragraph at lines 3228--3228 [] @texttt [n, w, beta, ftype] = kaiserord ([1000, 1200], [1, 0], [0.05, 0.05] , 11025);[] [42] [43] [44] [45] [46] [47] Overfull \hbox (13.29272pt too wide) in paragraph at lines 3734--3734 [] @texttt f0 = 70; Fs = 10000; # 100 Hz fundamental, 10kHz samplin g rate[] Overfull \hbox (13.29272pt too wide) in paragraph at lines 3735--3735 [] @texttt a = poly (0.985 * exp (1i * pi * [0.1, -0.1, 0.3, -0.3])); # two fo rmants[] [48] [49] [50] Warning: unbalanced parentheses in @def... [51] [52] Warning: unbalanced parentheses in @def... Overfull \hbox (3.85129pt too wide) in paragraph at lines 4148--4150 []@textrm [spectra,Pxx[]ci,freq] = pwelch(x,window,overlap,Nfft,Fs,conf, range ,plot[]type,detrend,sloppy) Overfull \hbox (45.0659pt too wide) in paragraph at lines 4151--4153 []@textrm [spectra,Pxx[]ci,freq] = pwelch(x,y,window,overlap,Nfft,Fs,conf, ran ge,plot[]type,detrend,sloppy,results) [53] [54] [55] Overfull \hbox (52.22pt too wide) in paragraph at lines 4385--4385 [] @texttt %% defaults: Nfft=min(length(x),256), Fs=2*pi, length(wind ow)=Nfft,[] Overfull \hbox (29.22525pt too wide) in paragraph at lines 4397--4397 [] @texttt %% NextPow2 is the next power of 2 greater than or equal t o the[] Overfull \hbox (23.47656pt too wide) in paragraph at lines 4398--4398 [] @texttt %% window length. "Sloppy", "conf" are not available. Def ault[] [56] Overfull \hbox (34.97394pt too wide) in paragraph at lines 4408--4408 [] @texttt %% defaults: length(window)==64, Nfft=max(256,NextPow2), F s=2*pi[] Overfull \hbox (29.22525pt too wide) in paragraph at lines 4410--4410 [] @texttt %% NextPow2 is the next power of 2 greater than or equal t o the[] [57] [58] Underfull \hbox (badness 10000) in paragraph at lines 4627--4630 []@textrm * Pe-ter Lynch, @texttt "@textrm The Dolph-Chebyshev Win-dow: A Sim- ple Op-ti-mal Fil- Underfull \hbox (badness 10000) in paragraph at lines 4627--4630 @textrm ter@texttt "@textrm , Monthly Weather Re-view, Vol. 125, pp. 655-660, April 1997. [59] Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... [60] [61] Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... [62] [63] [64] [65] [66] [67] [68] Overfull \hbox (13.29272pt too wide) in paragraph at lines 5377--5377 [] @texttt stem (t(1:4:121) * 1000, y(1:31), "-r;Decimated;"); hold off; # dec imated[] [69] [70] [71] [72] [73]) [74] ) (see the transcript file for additional information) Output written on signal.pdf (74 pages, 411451 bytes). Transcript written on signal.log. This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2025/dev/Debian) (preloaded format=pdfetex) restricted \write18 enabled. entering extended mode (./signal.texi (/usr/share/texmf/tex/texinfo/texinfo.tex Loading texinfo [version 2023-09-19.19]: pdf, fonts, glyphs, page headings, tables, conditionals, indexing, sectioning, toc, environments, defuns, macros, cross references, insertions, localization, formatting, microtype, and turning on texinfo input format.) (/build/reproducible-path/octave-signal-1.4.6/doc/version.texi) (/build/reproducible-path/octave-signal-1.4.6/doc/macros.texi) Chapter 1 (/build/reproducible-path/octave-signal-1.4.6/doc/signal.aux) Writing index file signal.cp Chapter 2 [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] Chapter 3 [2] (/build/reproducible-path/octave-signal-1.4.6/doc/functions.texi Writing index file signal.fn Overfull \hbox (24.7901pt too wide) in paragraph at lines 85--85 [] @texttt specgram (chirp ([0:0.001:5])); # default linear chirp of 0-100Hz in 1 sec[] [3] [4] [5] [6] Overfull \hbox (53.53354pt too wide) in paragraph at lines 314--314 [] @texttt set (gca, "ydir", "normal"); # put the ^^My^^M direction in the correct direction[] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Underfull \hbox (badness 7047) in paragraph at lines 1259--1263 []@textrm As a fur-ther op-ti-miza-tion when nfft@texttt >>@textrm length(a), the IIR fil-ter (b,a) is con- Underfull \hbox (badness 10000) in paragraph at lines 1259--1263 @textrm verted to the FIR fil-ter conv(b,fliplr(conj(a))). For fur-ther de-tai ls, see [18] [19] [20] Overfull \hbox (12.06592pt too wide) in paragraph at lines 1523--1525 []@textrm For the the-ory of op-er-a-tion, see `@texttt http://ccrma.stanford. edu/~jos/filters/residued.html[]@textrm '[] [21] Overfull \hbox (12.06592pt too wide) in paragraph at lines 1553--1555 []@textrm For the the-ory of op-er-a-tion, see `@texttt http://ccrma.stanford. edu/~jos/filters/residuez.html[]@textrm '[] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] Warning: unbalanced parentheses in @def... [38] [39] Overfull \hbox (36.28748pt too wide) in paragraph at lines 3066--3066 []@texttt h = cl2bp(30, 0.3*pi, 0.6*pi, [0.02, 1.02, 0.02], [-0.02, 0.98, -0.0 2], 2^11);[][] [40] Underfull \hbox (badness 10000) in paragraph at lines 3185--3187 []@textrm I. Se-lesnick, @texttt "@textrm Linear-Phase FIR Fil-ter De-sign by Least Squares,@texttt " [41] Overfull \hbox (30.53879pt too wide) in paragraph at lines 3228--3228 [] @texttt [n, w, beta, ftype] = kaiserord ([1000, 1200], [1, 0], [0.05, 0.05] , 11025);[] [42] [43] [44] [45] [46] [47] Overfull \hbox (13.29272pt too wide) in paragraph at lines 3734--3734 [] @texttt f0 = 70; Fs = 10000; # 100 Hz fundamental, 10kHz samplin g rate[] Overfull \hbox (13.29272pt too wide) in paragraph at lines 3735--3735 [] @texttt a = poly (0.985 * exp (1i * pi * [0.1, -0.1, 0.3, -0.3])); # two fo rmants[] [48] [49] [50] Warning: unbalanced parentheses in @def... [51] [52] Warning: unbalanced parentheses in @def... Overfull \hbox (3.85129pt too wide) in paragraph at lines 4148--4150 []@textrm [spectra,Pxx[]ci,freq] = pwelch(x,window,overlap,Nfft,Fs,conf, range ,plot[]type,detrend,sloppy) Overfull \hbox (45.0659pt too wide) in paragraph at lines 4151--4153 []@textrm [spectra,Pxx[]ci,freq] = pwelch(x,y,window,overlap,Nfft,Fs,conf, ran ge,plot[]type,detrend,sloppy,results) [53] [54] [55] Overfull \hbox (52.22pt too wide) in paragraph at lines 4385--4385 [] @texttt %% defaults: Nfft=min(length(x),256), Fs=2*pi, length(wind ow)=Nfft,[] Overfull \hbox (29.22525pt too wide) in paragraph at lines 4397--4397 [] @texttt %% NextPow2 is the next power of 2 greater than or equal t o the[] Overfull \hbox (23.47656pt too wide) in paragraph at lines 4398--4398 [] @texttt %% window length. "Sloppy", "conf" are not available. Def ault[] [56] Overfull \hbox (34.97394pt too wide) in paragraph at lines 4408--4408 [] @texttt %% defaults: length(window)==64, Nfft=max(256,NextPow2), F s=2*pi[] Overfull \hbox (29.22525pt too wide) in paragraph at lines 4410--4410 [] @texttt %% NextPow2 is the next power of 2 greater than or equal t o the[] [57] [58] Underfull \hbox (badness 10000) in paragraph at lines 4627--4630 []@textrm * Pe-ter Lynch, @texttt "@textrm The Dolph-Chebyshev Win-dow: A Sim- ple Op-ti-mal Fil- Underfull \hbox (badness 10000) in paragraph at lines 4627--4630 @textrm ter@texttt "@textrm , Monthly Weather Re-view, Vol. 125, pp. 655-660, April 1997. [59] Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... [60] [61] Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... Warning: unbalanced parentheses in @def... [62] [63] [64] [65] [66] [67] [68] Overfull \hbox (13.29272pt too wide) in paragraph at lines 5377--5377 [] @texttt stem (t(1:4:121) * 1000, y(1:31), "-r;Decimated;"); hold off; # dec imated[] [69] [70] [71] [72] [73]) [74] ) (see the transcript file for additional information) Output written on signal.pdf (74 pages, 411451 bytes). Transcript written on signal.log. make[1]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6' 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 --destdir=debian/octave-signal/ -O--buildsystem=octave octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m /build/reproducible-path/octave-signal-1.4.6/debian/octave-signal/usr/share/octave/packages /build/reproducible-path/octave-signal-1.4.6/debian/octave-signal/usr/lib/i386-linux-gnu/octave/packages make[1]: Entering directory '/build/reproducible-path/octave-signal-1.4.6/src' /usr/bin/mkoctfile --verbose -Wall __fwht__.cc -o __fwht__.oct /usr/bin/mkoctfile --verbose -Wall __ultrwin__.cc -o __ultrwin__.oct /usr/bin/mkoctfile --verbose -Wall -c cl2bp.cc -o cl2bp.o /usr/bin/mkoctfile --verbose -Wall -c cl2bp_lib.cc -o cl2bp_lib.o /usr/bin/mkoctfile --verbose -Wall -c firpm.cc -o firpm.o /usr/bin/mkoctfile --verbose -c mmfir.c -o mmfir.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall __fwht__.cc -o /tmp/oct-11hdMP.o /usr/bin/mkoctfile --verbose -Wall medfilt1.cc -o medfilt1.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall __ultrwin__.cc -o /tmp/oct-C4Xv05.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall cl2bp_lib.cc -o cl2bp_lib.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall cl2bp.cc -o cl2bp.o /usr/bin/mkoctfile --verbose -Wall remez.cc -o remez.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall firpm.cc -o firpm.o gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -fexceptions -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security mmfir.c -o mmfir.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall medfilt1.cc -o /tmp/oct-M6ulc2.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall remez.cc -o /tmp/oct-xkxWOO.o /usr/bin/mkoctfile --verbose -Wall sosfilt.cc -o sosfilt.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall sosfilt.cc -o /tmp/oct-Rhq06N.o /usr/bin/mkoctfile --verbose -Wall upfirdn.cc -o upfirdn.oct g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall upfirdn.cc -o /tmp/oct-ApH8F4.o g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o __fwht__.oct /tmp/oct-11hdMP.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall cl2bp.o cl2bp_lib.o -o cl2bp.oct g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o cl2bp.oct cl2bp.o cl2bp_lib.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o medfilt1.oct /tmp/oct-M6ulc2.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o __ultrwin__.oct /tmp/oct-C4Xv05.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o remez.oct /tmp/oct-xkxWOO.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o sosfilt.oct /tmp/oct-Rhq06N.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o upfirdn.oct /tmp/oct-ApH8F4.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall firpm.o mmfir.o -o firpm.oct g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-signal-1.4.6=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -o firpm.oct firpm.o mmfir.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[1]: Leaving directory '/build/reproducible-path/octave-signal-1.4.6/src' copyfile /build/reproducible-path/octave-signal-1.4.6/./src/__fwht__.oct /build/reproducible-path/octave-signal-1.4.6/./src/__ultrwin__.oct /build/reproducible-path/octave-signal-1.4.6/./src/cl2bp.oct /build/reproducible-path/octave-signal-1.4.6/./src/firpm.oct /build/reproducible-path/octave-signal-1.4.6/./src/medfilt1.oct /build/reproducible-path/octave-signal-1.4.6/./src/remez.oct /build/reproducible-path/octave-signal-1.4.6/./src/sosfilt.oct /build/reproducible-path/octave-signal-1.4.6/./src/upfirdn.oct /build/reproducible-path/octave-signal-1.4.6/./src/__fwht__.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/__ultrwin__.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/cl2bp.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/firpm.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/medfilt1.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/remez.cc-tst /build/reproducible-path/octave-signal-1.4.6/./src/upfirdn.cc-tst /build/reproducible-path/octave-signal-1.4.6/./inst/i686-pc-linux-gnu-api-v59 For information about changes from previous versions of the signal package, run 'news signal'. rm: cannot remove '/build/reproducible-path/octave-signal-1.4.6/debian/octave-signal/usr/share/octave/packages/signal-1.4.6/doc': Is a directory dh_octave_check -O--buildsystem=octave Checking package... Run the unit tests... Checking m files ... [inst/ultrwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/findpeaks.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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))) ***** test x = [1 10 2 2 1 9 1]; [pks, loc] = findpeaks(x); assert (loc, [2 6]) assert (pks, [10 9]) ***** 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]) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/residuez.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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); ***** test # bug 57359 [r,p,k] = residuez([1 1 1.5 .5],[1 1.5 .5]); [rs,is] = sort(r); assert(r(is), [-1; 2], 100*eps); assert(p(is), [-0.5; -1], 100*eps); assert(k, [0 1], 100*eps); ***** test # matlab example b0 = 0.05634; b1 = [1 1]; b2 = [1 -1.0166 1]; a1 = [1 -0.683]; a2 = [1 -1.4461 0.7957]; b = b0*conv(b1,b2); a = conv(a1,a2); [r,p,k] = residuez(b,a); expected_r = [ ... -0.115252473987042 - 0.018151109860883i; ... -0.115252473987042 + 0.018151109860883i; ... 0.390513439910336 - 0.000000000000000i; ... ]; expected_p = [ ... 0.723050000000000 + 0.522397068808775i; ... 0.723050000000000 - 0.522397068808775i; ... 0.683000000000000 + 0.000000000000000i; ... ]; expected_k = -0.103668491936251; # sort doesnt use i in the sort, so order of real is only thing can count on [rs,is] = sort(r); assert(real(r(is)), real(expected_r), 1e-5); assert(abs(imag(r(is))), abs(imag(expected_r)), 1e-5); assert(real(p(is)), real(expected_p), 1e-5); assert(abs(imag(p(is))), abs(imag(expected_p)), 1e-5); assert(k, expected_k, 100*eps); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/unshiftdata.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/specgram.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/reproducible-path/octave-signal-1.4.6/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/rceps.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/rceps.m ***** 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.'); assert (yt.', y, 1e-14); assert (xmt.', xm, 1e-14); ***** test x = randn (33, 4); [y, xm] = rceps (x); assert (size (y), size (x)); assert (size (xm), size (x)); ***** error rceps ***** error rceps (1, 2) ***** error rceps (0) ***** error rceps (zeros (10, 1)) ***** demo f0 = 70; Fs = 10000; # 100 Hz fundamental, 10 kHz 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;", ... [0:len-1] * 1000 / Fs, xm(1:len), "g;reconstruction;"); ylabel ("Amplitude"); xlabel ("Time (ms)"); 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. 7 tests, 7 passed, 0 known failure, 0 skipped [inst/filtic.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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); ***** test a = [2, -3, 1]; b = [4, -3]; y = [0; 1]; z = filtic (b, a, y); assert (z, [-0.5; 0]); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/gaussian.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/marcumq.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/ismaxphase.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/ismaxphase.m ***** demo [b, a] = butter (1, .5); f = ismaxphase (b, a) ***** error n = ismaxphase () ***** error n = ismaxphase (1, 1, 1, 1) ***** error n = ismaxphase (1, 1, 1, 1, 1) ***** error n = ismaxphase ([1:10]', 1) ***** error n = ismaxphase (1, [1:10]') ***** error n = ismaxphase ([1:10]', [1:10]') ***** error n = ismaxphase (1:10, 1:10, 1:10) ***** error n = ismaxphase (ones (3), ones (3)) ***** test z1 = [0.9*exp(j*0.6*pi), 0.9*exp(-j*0.6*pi)]; z2 = [0.8*exp(j*0.8*pi), 0.8*exp(-j*0.8*pi)]; b = poly ([z1 z2]); a = 1; f = ismaxphase (b, a); assert (f, false) ***** test z1 = [0.9*exp(j*0.6*pi), 0.9*exp(-j*0.6*pi)]; z2 = [0.8*exp(j*0.8*pi), 0.8*exp(-j*0.8*pi)]; b = poly ([1./z1 1./z2]); a = 1; f = ismaxphase (b, a); assert (f, true) ***** test z1 = [0.9*exp(j*0.6*pi), 0.9*exp(-j*0.6*pi)]; z2 = [0.8*exp(j*0.8*pi), 0.8*exp(-j*0.8*pi)]; b = poly ([z1 1./z2]); a = 1; f = ismaxphase (b, a); assert (f, false) ***** test z1 = [0.9*exp(j*0.6*pi), 0.9*exp(-j*0.6*pi)]; z2 = [0.8*exp(j*0.8*pi), 0.8*exp(-j*0.8*pi)]; b = poly ([1./z1 z2]); a = 1; f = ismaxphase (b, a); assert (f, false) ***** test [b, a] = butter (1, .5); f = ismaxphase (b, a); assert (f, false) ***** test [b, a] = butter (8, .5); f = ismaxphase (b, a); assert (f, false) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/blackmannuttall.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/peak2rms.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/pow2db.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/dst.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/rectwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/poisswin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/poisswin.m ***** test % even M; odd alpha: w=[0.3878 0.4308 0.4786 0.5318 0.5908 0.6564 0.7292 0.8102 0.9001 1]; assert (poisswin (20, 1), [w flip(w)]', 51e-6); ***** test % odd M; even alpha: w=[0.1353 0.1653 0.2019 0.2466 0.3012 0.3679 0.4493 0.5488 0.6703 0.8187]; assert (poisswin (21, 2), [w 1 flip(w)]', 51e-6); ***** error poisswin ***** error poisswin (21.5,1) ***** error poisswin (21i,1) ***** error poisswin (21:22,1) ***** error poisswin ({21},1) ***** error poisswin (21, 4i) ***** error poisswin (21, 2:3) ***** error poisswin (21, {4}) ***** error poisswin (21, 4, 1) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/ifwht.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/pei_tseng_notch.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/downsample.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/chirp.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/ifht.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/ifht.m ***** assert(ifht(fht(1:4)),[1 2 3 4]) 1 test, 1 passed, 0 known failure, 0 skipped [inst/nuttallwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/data2fun.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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 # Change to temporary folder in case tester cannot write current folder olddir = pwd(); cd(tempdir()); [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"]); cd(olddir) end_unwind_protect ***** test unwind_protect # Change to temporary folder in case tester cannot write current folder olddir = pwd(); cd(tempdir()); [fhandle fname] = data2fun (t, y, "file", ""); # generate commmand to execute using random file name cmd = sprintf ("yt = %s(t);", nthargout (2, @fileparts, fname)); eval (cmd); assert (y, yt); assert (y, fhandle (t)); unwind_protect_cleanup unlink (fname); unlink ([fname(1:end-2) ".mat"]); cd(olddir) end_unwind_protect ***** test unwind_protect # Change to temporary folder in case tester cannot write current folder olddir = pwd(); cd(tempdir()); [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"]); cd(olddir) end_unwind_protect ***** error data2fun () ***** error data2fun (1) ***** error data2fun (1, 2, "file") 7 tests, 7 passed, 0 known failure, 0 skipped [inst/butter.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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") ***** error [a, b] = butter (9, .6, "stop") ***** error [a, b] = butter (9, .6, "bandpass") ***** error [a, b] = butter (9, .6, "s", "high") ***** 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;") 17 tests, 17 passed, 0 known failure, 0 skipped [inst/sgolay.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/boxcar.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/welchwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/besself.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/tf2sos.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/hann.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/isstable.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/isstable.m ***** test b = [1 2 3 4 5 5 1 2]; a = []; assert (isstable (b,a), true) ***** test b = [1 2 3 4 5 5 1 2]; a = [4 5 6 7 9 10 4 6]; assert (isstable (b,a), false) ***** test b = [1 2 3 4 5 5 1 2]; a = [4 5 6 7 9 10 4 6]; a = polystab(a); assert (isstable (b,a), true) ***** test [z,p,g] = butter(6,0.7,'high'); sos = zp2sos(z,p,g); assert (isstable(sos) , true) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/gausswin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/grpdelay.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/pulstran.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/impz.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/filternorm.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/filternorm.m ***** demo b = [1 0]; a = [1 1]; L = filternorm (b, a) ***** demo [b, a] = butter(5, .5); L = filternorm (b, a) ## test input validation ***** error n = filternorm () ***** error n = filternorm (1) ***** error n = filternorm (1, 1, 1) ***** error n = filternorm (1, 1, 1, 1) ***** error n = filternorm (1, 1, 1, 1, 1) ***** error n = filternorm ([1:10]', 1) ***** error n = filternorm (1, [1:10]') ***** error n = filternorm ([1:10]', [1:10]') ***** error n = filternorm (1:10, 1:10, 1:10) ***** error n = filternorm (ones(3), ones(3)) ***** test [b, a] = butter (5, .5); L = filternorm (b, a); assert (L, sqrt(2)/2, 1e-8) ***** test [b, a] = butter (5, .5); Linf = filternorm (b, a, Inf); assert (Linf, 1, 1e-8); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/flattopwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/digitrevorder.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cceps.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/cceps.m ***** test x = randn (256, 1); c = cceps (x); assert (size (c), size (x)) ***** error cceps () ***** error cceps (1, 2, 3) ***** error cceps (ones (4)) ***** error cceps (0) ***** error cceps (zeros (10, 1)) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/czt.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/peak2peak.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/uencode.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cheb2ap.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/cheb2ap.m ***** error cheb2ap (-1, 3) ***** error cheb2ap (3, -1) ***** demo w=0:0.01:1000; [z, p, k] = cheb2ap (3, 3); [b, a] = zp2tf (z, p, k); Gs = freqs (b, a, w); semilogx (w, abs (Gs)); xlabel('Frequency in rad/sec') ylabel('Magnitude of G(s)'); title('Type 2 Chebyshev Low-Pass Filter, k=3, 3 dB ripple in stop band') grid; 2 tests, 2 passed, 0 known failure, 0 skipped [inst/isminphase.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/isminphase.m ***** demo b = [3 1]; a = [1 .5]; f = isminphase (b, a) ## test input validation ***** error n = isminphase () ***** error n = isminphase (1, 1, 1, 1) ***** error n = isminphase (1, 1, 1, 1, 1) ***** error n = isminphase ([1:10]', 1) ***** error n = isminphase (1, [1:10]') ***** error n = isminphase ([1:10]', [1:10]') ***** error n = isminphase (1:10, 1:10, 1:10) ***** error n = isminphase (ones (3), ones (3)) ***** test b = [3 1]; a = [1 .5]; f = isminphase (b, a); assert (f, true) ***** test [b, a] = butter (1, .5); f = isminphase (b, a); assert (f, false) ***** test [b, a] = butter (8, .5); f = isminphase (b, a); assert (f, false) ***** test b = 1.25^2 * conv (conv (conv ([1 -0.9*e^(-j*0.6*pi)], [1 -0.9*e^(j*0.6*pi)]), [1 -0.8*e^(-j*0.8*pi)]), [1 -0.8*e^(j*0.8*pi)]); a = 1; f = isminphase (b, a); assert (f, true) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/cheb2ord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/kaiser.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/upsamplefill.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/xcorr2.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/bitrevorder.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/sos2ss.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/sos2ss.m ***** test sos = [1, 1, 0, 1, 0.5, 0]; g = 1; [a, b, c, d] = sos2ss (sos, g); assert ({a, b, c, d}, {-0.5, 0.5, 1, 1}); 1 test, 1 passed, 0 known failure, 0 skipped [inst/statelevels.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/statelevels.m ***** error l = statelevels() ***** error l = statelevels("test") ***** error l = statelevels(1) ***** error l = statelevels([1 2 3], 'test') ***** error l = statelevels([1 2 3], 3, 'test') ***** error l = statelevels([1 2 3], 3, 'mode', 1) ***** error l = statelevels([1 2 3], 3, 'mode', [1 -1]) ***** shared X t = linspace(0,2*pi*10,100); X = square(t) + cos(t); ***** test l = statelevels(X); assert(l, [-1.9795 1.9800], 1e5) ***** test [l, h] = statelevels(X); assert(l, [-1.9795 1.9800], 1e5) assert(sum(h), 100) assert(length(h), 100) ***** test [l, h, b] = statelevels(X); assert(l, [-1.9795 1.9800], 1e5) assert(sum(h), 100) assert(length(h), 100) assert(h(1), 4) assert(h(2), 2) assert(h(4), 1) assert(h(11), 0) assert(b(1), -1.9795, 1e5) assert(b(2), -1.9395, 1e5) ***** test [l, h, b] = statelevels(X, 100); assert(l, [-1.9795 1.9800], 1e5) assert(sum(h), 100) assert(length(h), 100) assert(h(1), 4) assert(h(2), 2) assert(h(4), 1) assert(h(11), 0) assert(b(1), -1.9795, 1e5) assert(b(2), -1.9395, 1e5) ***** test [l, h, b] = statelevels(X, 50); assert(l, [-1.9595 1.9600], 1e5) assert(sum(h), 100) assert(length(h), 50) assert(h(1), 6) assert(h(2), 3) assert(h(4), 2) assert(h(11), 1) assert(b(1), -1.9595, 1e5) assert(b(2), -1.8795, 1e5) ***** test [l, h, b] = statelevels(X, 100, 'mode'); assert(l, [-1.9795 1.9800], 1e5) assert(sum(h), 100) assert(length(h), 100) assert(h(1), 4) assert(h(2), 2) assert(h(4), 1) assert(h(11), 0) assert(b(1), -1.9795, 1e5) assert(b(2), -1.9395, 1e5) ***** test [l, h, b] = statelevels(X, 100, 'mean'); assert(l, [-1.0090 0.9532], 1e5) assert(sum(h), 100) assert(length(h), 100) assert(h(1), 4) assert(h(2), 2) assert(h(4), 1) assert(h(11), 0) assert(b(1), -1.9795, 1e5) assert(b(2), -1.9395, 1e5) ***** test [l, h, b] = statelevels(X, 100, 'mode', [-1.8 1.0]); assert(l, [-1.7860 0.0060], 1e5) assert(sum(h), 64) assert(length(h), 100) assert(h(1), 1) assert(h(2), 1) assert(h(3), 0) assert(b(1), -1.7860, 1e5) assert(b(2), -1.7580, 1e5) ***** demo # Generate test signal t = linspace(0,2*pi*10,100); X = square(t) + cos(t); # plot the waveform and provide the levels statelevels(X) 15 tests, 15 passed, 0 known failure, 0 skipped [inst/tripuls.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/isallpass.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/isallpass.m ***** demo # H(z) = (b1 - z^-1) * (b2 - z^-1) / ((1 - b1*z^-1) * (1 - b2*z^-1)) b1 = 0.5 * (1 + i); b2 = 0.7 * (cos (pi/6) + i*sin (pi/6)); b = conv ([b1 -1], [b2 -1]); a = conv ([1 (-1)*conj(b1)],[1 (-1)*conj(b2)]); freqz (b, a); f = isallpass (b, a) ## test input validation ***** error n = isallpass () ***** error n = isallpass (1) ***** error n = isallpass (1, 1, 1) ***** error n = isallpass (1, 1, 1, 1) ***** error n = isallpass (1, 1, 1, 1, 1) ***** error n = isallpass ([1:10]', 1) ***** error n = isallpass (1, [1:10]') ***** error n = isallpass ([1:10]', [1:10]') ***** error n = isallpass (1:10, 1:10, 1:10) ***** error n = isallpass (ones (3), ones (3)) ***** test b = [(1+i)/2 -1]; a = [1 -(1-i)/2]; f = isallpass (b, a); assert (f, true) ***** test b = [(1+i)/2 -1]; a = [-1 (1-i)/2]; f = isallpass (b, a); assert (f, true) ***** test [b, a] = butter (1, 0.5); f = isallpass (b, a); assert (f, false) ***** test b1 = 0.5 * (1 + i); b2 = 0.7 * (cos (pi/6) + i*sin (pi/6)); b = conv ([b1 -1], [b2 -1]); a = conv ([1 -conj(b1)],[1, -conj(b2)]); f = isallpass (b, a); assert (f, true) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/idst.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/taylorwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/taylorwin.m ***** test % odd M; even NBAR: w = [.2035 .272 .4013 .5717 .7626 .9644 1.1683 1.3598 1.5254 1.6541 1.7354 1.7629]; assert (taylorwin (23, 8, -40), [w w(end-1:-1:1)]', 51e-6); ***** test % even M; odd NBAR: w = [.4025 .4488 .5367 .6576 .8004 .9528 1.1028 1.2402 1.3573 1.4484 1.5105 1.5419]; assert (taylorwin (24, 3), [w flip(w)]', 51e-6); ***** error taylorwin ***** error taylorwin (0) ***** error taylorwin (30.5) ***** error taylorwin (30i) ***** error taylorwin (30:31) ***** error taylorwin ({30}) ***** error taylorwin (30, 0) ***** error taylorwin (30, 4.5) ***** error taylorwin (30, 4i) ***** error taylorwin (30, 2:3) ***** error taylorwin (30, {4}) ***** error taylorwin (30, 4, -30i) ***** error taylorwin (30, 4, -30:-20) ***** error taylorwin (30, 4, {-30}) ***** error taylorwin (30, 4, -30, 0:1) ***** error taylorwin (30, 4, -30, {}) ***** error taylorwin (30, 4, -30, 1, 0) ***** demo taylorwin (2000, 4, -35, 1); ***** demo taylorwin (2000, 5, -40, 1); ***** demo taylorwin (2000, 7, -50, 1); ***** demo taylorwin (2000, 11, -70, 1); 19 tests, 19 passed, 0 known failure, 0 skipped [inst/residued.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/ellipord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/firpmord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/firpmord.m ***** error firpmord ([1 2], [1 0], [1 1], [1 1]); ***** error firpmord ([0 2], [1 0], [1 1]); ***** error firpmord ([.1 1], [1 0], [1 1]); ***** error firpmord ([.1 .9], [1], [.1 .1]); ***** error firpmord ([.1 .2], [1 0], [.1 .1 .1]); ***** error firpmord ([.1 .2], [1 0], [1 0]); ***** assert ( firpmord ([0.4 0.5], [0 1], [2.5e-4 2.5e-4]), firpmord ([0.4 0.5], [0 1], [2.5e-4])) ***** test ds = 1e-4; dp = 0.01; assert ( firpmord ([1 2 3 4 5 6 7 8]/10, [0 1 0 1 0], [ds dp ds dp ds]), firpmord ([1 2 3 4 5 6 7 8]/10, [0 1 0 1 0], [ds dp])) ***** assert (1 + firpmord ([.1 .2], [0 1], [1e-4 .01], 1), 33) ***** assert (1 + firpmord ([ 15 20], [ 1 0], [ .1 .001], 100), 38) ***** assert (1 + firpmord ([ 8 10 ], [0 1 ], [.001 .1 ], 100), 91) ***** assert (1 + firpmord ([ 8 10 15 20], [0 1 0], [.001 .1 .001], 100), 90) #+1? ***** assert (1 + firpmord ([17 20 ], [1 0 ], [.01 1e-4 ], 100), 107)#-1? ***** assert (1 + firpmord ([ 22 25], [ 0 1], [ 1e-4 .01], 100), 107) ***** assert (1 + firpmord ([17 20 22 25], [1 0 1], [.01 1e-4 .01], 100), 107) ***** assert (1 + firpmord ([ 21 25], [ 1 0], [ .01 1e-4], 100), 81) #+1? ***** assert (1 + firpmord ([10 20 ], [0 1 ], [1e-4 .01 ], 100), 33) ***** assert (1 + firpmord ([10 20 21 25], [0 1 0], [1e-4 .01 1e-4], 100), 81) #+1? ***** assert (1 + firpmord ([20 25 ], [1 0 ], [.01 1e-4 ], 100), 65) #+1? ***** assert (1 + firpmord ([ 26 30], [ 0 1], [ 1e-4 .01], 100), 81) #+2? ***** assert (1 + firpmord ([20 25 26 30], [1 0 1], [.01 1e-4 .01], 100), 81) #+2? ***** demo db2mag = @(x) 10^(x/20); fs = 8000; [n f a w] = firpmord ([2500 3000], [1 0], [0.01 db2mag(-60)], fs); b = firpm (n, f, a, w); [h f] = freqz (b, 1, 2^14); clf plot (fs/2*f/pi, 20*log10 (abs (h))); grid on; axis ([0 fs/2 -90 5]) ylabel ("Magnitude (dB)"); xlabel ("Frequency (Hz)") title (sprintf ("Response analysis of firpmord / firpm low-pass filter design (order=%i)", length (b) - 1)) axes ("position", [.24 .4 .4 .3]) plot (fs/2*f/pi, abs (h)); grid on; axis ([0 2600 x=.987 2-x]) ylabel ("Magnitude") title ("Pass-band detail") %-------------------------------------------------- % Figure shows analysis of filter designed using % firpm with firpmord; specs. are almost met. ***** demo db2mag = @(x) 10^(x/20); b = firpm (firpmord ([0.3 0.4], [0 1], [db2mag(-80) .01], "c"){:}); [h f] = freqz (b, 1, 2^14); clf plot (f/pi, 20*log10 (abs (h))); grid on; axis ([0 1 -110 5]) ylabel ("Magnitude (dB)"); xlabel ("Frequency (normalized)") title (sprintf ("Response analysis of firpmord / firpm high-pass filter design (order=%i)", length (b) - 1)) axes ("position", [.52 .4 .35 .3]) plot (f/pi, abs (h)); grid on; axis ([.39 1 x=.987 2-x]) ylabel ("Magnitude") title ("Pass-band detail") %-------------------------------------------------- % Figure shows analysis of filter designed using % firpm with firpmord; specs. are exceeded. ***** demo db2mag = @(x) 10^(x/20); ds = db2mag (-80); dp = 0.01; b = firpm (firpmord ([1 2 3 4 5 6 7 8]/10, [0 1 0 1 0], [ds dp], "c"){:}); [h f] = freqz (b, 1, 2^14); clf plot (f/pi, 20*log10 (abs (h))); grid on; axis ([0 1 -110 5]) ylabel ("Magnitude (dB)"); xlabel ("Frequency (normalized)") title ("Response analysis of firpmord / firpm multi-band-pass filter design") title (sprintf ("Response analysis of firpmord / firpm multi-band-pass filter design (order=%i)", length (b) - 1)) axes ("position", [.38 .5 .5 .2]) plot (f/pi, abs (h)); grid on; axis ([.11 .79 x=.986 2-x]) ylabel ("Magnitude") title ("Pass-bands detail") %-------------------------------------------------- % Figure shows analysis of filter designed using % firpm with firpmord; specs. are met. ***** demo db2mag = @(x) 10^(x/20); ds = db2mag (-40); dp = 1 - db2mag (-0.1); b = firpm (firpmord ([2 3 8 9]/32, [0 1 0], [ds dp], "c"){:}); [h f] = freqz (b, 1, 2^14); clf plot (f/pi, 20*log10 (abs (h))); grid on; axis ([0 1 -50 3]) ylabel ("Magnitude (dB)"); xlabel ("Frequency (normalized)") title (sprintf ("Response analysis of firpmord / firpm band-pass filter design (order=%i)", length (b) - 1)) axes ("position", [.45 .5 .4 .3]) plot (f/pi, 20*log10 (abs (h))); grid on; axis ([.08 .26 x=-.13 -x]) ylabel ("Magnitude (dB)") title ("Pass-band detail") %-------------------------------------------------- % Figure shows analysis of filter designed using % firpm with firpmord; specs. are not met. ***** demo % FIRPMX: F, A, D, Fs are as firpmord. % type in {0,1,2} constrains order to be {even,odd,either} resp. function h = firpmx (type, F, A, D, Fs = 2) type *= !A(end); step = 2; bounds = [0 0]; while (bounds(2) - bounds(1) != step) if all (!bounds) [n f a w] = firpmord (F, A, D, Fs); elseif (!bounds(1)) n = min (n - step, round (n * 0.994)); elseif (!bounds(2)) n = max (n + step, round (n / 0.998)); else n = fix (mean (bounds)); endif n += rem (n + rem (type, 2), step); [b m] = firpm (n, f, a, w); bounds(1 + (met = (abs(m) <= max (D)))) = n; step -= bounds(2) - bounds(1) == type; if (met) h = b; endif endwhile endfunction db2mag = @(x) 10^(x/20); ds = db2mag (-40); dp = 1 - db2mag (-0.1); b = firpmx (2, [2 3 8 9]/32, [0 1 0], [ds dp]); [h f] = freqz (b, 1, 2^14); clf plot (f/pi, 20*log10 (abs (h))); grid on; axis ([0 1 -50 3]) ylabel ("Magnitude (dB)"); xlabel ("Frequency (normalized)") title (sprintf ("Response analysis of firpmord / iterative-firpm band-pass filter design (order=%i)", length (b) - 1)) axes ("position", [.45 .5 .4 .3]) plot (f/pi, 20*log10 (abs (h))); grid on; axis ([.08 .26 x=-.13 -x]) ylabel ("Magnitude (dB)") title ("Pass-band detail") %-------------------------------------------------- % Figure shows analysis of filter designed iteratively % using firpm with firpmord, so that specs. are met. 21 tests, 21 passed, 0 known failure, 0 skipped [inst/cheb1ord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/sos2zp.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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); ***** test sos = [1, 1, 0, 1, 1, 0.5]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); ***** test sos = [0, 1, 1, 1, 0.5, 0]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); ***** test sos = [1, 1, 0, 1, 0.5, 0]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); ***** test sos = [0, 1, 1, 1, 1, 0.5]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); ***** test sos = [1, 1, 0, 0, 1, 0.5]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); ***** test sos = [0, 1, 1, 0, 1, 0.5]; [Z, P] = sos2zp (sos); assert (Z, roots (sos(1,1:3)), 10*eps); assert (P, roots (sos(1,4:6)), 10*eps); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/udecode.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/gauspuls.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/db2pow.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/xcov.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/xcov.m ***** error xcov () ***** test x = 1:5; [c, l] = xcov(x); assert(c, [-4.0 -4.0 -1.0 4.0 10.0 4.0 -1.0 -4.0 -4.0], 2*eps) assert(l, [-4 -3 -2 -1 0 1 2 3 4]) ***** test x = 1:5; y = 1:5; [c, l] = xcov(x,y); assert(c, [-4.0 -4.0 -1.0 4.0 10.0 4.0 -1.0 -4.0 -4.0], 2*eps) assert(l, [-4 -3 -2 -1 0 1 2 3 4]) y = 1; [c, l] = xcov(x,y); assert(c, [4.0 10.0 4.0], 2*eps) assert(l, [-1 0 1]) ***** test x = 1:5; y = 1:5; # maxlag [c, l] = xcov(x,y, 2); assert(c, [-1.0 4.0 10.0 4.0 -1.0], 2*eps) assert(l, [-2 -1 0 1 2]) ***** test x = 1:5; y = 1:5; # scale [c, l] = xcov(x,y, 'none'); assert(c, [-4.0 -4.0 -1.0 4.0 10.0 4.0 -1.0 -4.0 -4.0], 2*eps) assert(l, [-4 -3 -2 -1 0 1 2 3 4]) [c, l] = xcov(x,y, 'biased'); assert(c, [-0.8 -0.8 -0.2 0.8 2.0 0.8 -0.2 -0.8 -0.8], 2*eps) assert(l, [-4 -3 -2 -1 0 1 2 3 4]) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/phasez.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/phasez.m ***** demo N = 2; b = ones (1, N)/N; a = 1; [phi, w] = phasez (b, a) ## test input validation ***** error n = phasez () ***** error n = phasez (1, 1, 1, 1, 1) ***** error n = phasez (1:10, 1:10, 1:10) ***** error n = phasez (ones (3), ones (3)) ***** test % moving average N = 2; b = ones (1, N)/N; a = 1; [phi, w] = phasez (b, a); PHI = -w * (N-1) /2; assert (phi, PHI, eps^(3/5)) ***** test % moving average N = 5; b = ones (1, N)/N; a = 1; [phi, w] = phasez (b, a); PHI = -w * (N-1) /2; assert (phi, PHI, eps^(3/5)) ***** test % Oppenheim - Example 5.6 - 2nd-Order IIR System % % 1 % H(z) = --------------------------- % 1 − 2r cos θz^−1 + r^2 z^−2 % % ang(H(e^jω)) = − arctan[ r sin(ω − θ) / (1 − r cos(ω − θ)) ] − arctan[ r sin(ω + θ) / (1 − r cos(ω + θ)) ] % r = 0.5; theta = pi/4; b = 1; a = [ 1 -2*r*cos(theta) r^2]; [phi, w] = phasez (b, a); PHI = - atan ( r*sin (w - theta) ./ (1 - r*cos (w - theta)) ) - atan ( r*sin (w + theta) ./ (1 - r*cos (w+theta)) ); assert (phi, PHI, eps^(3/5)) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/tukeywin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/fht.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/fht.m ***** assert( fht([1 2 3 4]),[10 -4 -2 0] ) 1 test, 1 passed, 0 known failure, 0 skipped [inst/vco.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/vco.m ***** error vco ***** error vco([1 2]) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/invimpinvar.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/zp2sos.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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); ***** test sos = zp2sos ([]); assert (sos, [1, 0, 0, 1, 0, 0], 100*eps); ***** test sos = zp2sos ([], []); assert (sos, [1, 0, 0, 1, 0, 0], 100*eps); ***** test sos = zp2sos ([], [], 2); assert (sos, [2, 0, 0, 1, 0, 0], 100*eps); ***** test [sos, g] = zp2sos ([], [], 2); assert (sos, [1, 0, 0, 1, 0, 0], 100*eps); assert (g, 2, 100*eps); ***** test sos = zp2sos([], [0], 1); assert (sos, [0, 1, 0, 1, 0, 0], 100*eps); ***** test sos = zp2sos([0], [], 1); assert (sos, [1, 0, 0, 0, 1, 0], 100*eps); ***** test sos = zp2sos([-1-j -1+j], [-1-2j -1+2j], 10); assert (sos, [10, 20, 20, 1, 2, 5], 100*eps); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/primitive.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/filtfilt.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/filtfilt.m ***** error filtfilt (); ***** error filtfilt (1, 2, 3, 4); ***** error filtfilt ([0.28, 0.71, 0.28], 1, rand ()) ***** error filtfilt ([0.28, 0.71, 0.28], 1, rand (6, 1)) ***** 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); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/chebwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/rssq.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cplxreal.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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) ***** test [zc, zr] = cplxreal (roots ([1, 0, 0, 1, 0])); assert (zc, complex (0.5, sin (pi/3)), 10*eps) assert (zr, [-1; 0], 2*eps) ***** test [zc, zr] = cplxreal (roots ([1, 0, 0, 1, 0, 0])); assert (zc, complex (0.5, sin (pi/3)), 10*eps) assert (zr, [-1; 0; 0], 2*eps) ***** error cplxreal () ***** error cplxreal (1, 2, 3, 4) ***** error cplxreal (1, ones (2, 3)) ***** error cplxreal (1, -1) ***** error cplxreal (1, [], 3) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/barthannwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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 [inst/cheb1ap.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/cheb1ap.m ***** error cheb1ap (-1, 4) ***** error cheb1ap (1.5, 4) ***** error cheb1ap (2, -1) ***** test [z,p,k]=cheb1ap(4,2); assert (isempty(z), 1, 0) assert (p, [ -0.10489 - 0.95795i; -0.25322 - 0.39680i; -0.25322 + 0.39680i; -0.10489 + 0.95795i], e-6) assert (k, 0.1634, e-6) 4 tests, 4 passed, 0 known failure, 0 skipped [inst/shiftdata.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/filtord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/filtord.m ***** demo b = [1 0]; a = [1 1]; n = filtord (b, a) ***** demo b = [1 0 0 0 0 0 0 1]; a = [1 0 0 0 0 0 0 .5]; [sos, g] = tf2sos (b, a); n = filtord (sos) ## test input validation ***** error n = filtord () ***** error n = filtord (1, 1, 1) ***** error n = filtord ([1:10]', 1) ***** error n = filtord (1, [1:10]') ***** error n = filtord ([1:10]', [1:10]') ***** error n = filtord (1:10, 1:10, 1:10) ***** error n = filtord (ones(3), ones(3)) ***** test b = [1 0 0]; a = [1 0 0 0]; n = filtord (b, a); assert (n, 3, 1e-6) ***** test [b, a] = butter (5, .5); n = filtord (b, a); assert (n, 5, 1e-6) ***** test [b, a] = butter (6, .5); n = filtord (b, a); assert (n, 6, 1e-6) ***** test b = [1 0 0 0 0 0 1]; a = [1 0 0 0 0 0 .5]; [sos, g] = tf2sos (b, a); n = filtord (sos); assert (n, 6, 1e-6) ***** test b = [1 0 0 0 0 0 0 1]; a = [1 0 0 0 0 0 0 .5]; [sos, g] = tf2sos (b, a); n = filtord (sos); assert (n, 7, 1e-6) 12 tests, 12 passed, 0 known failure, 0 skipped [inst/ellip.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cheby1.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/buffer.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cconv.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/cconv.m ***** shared x x = [1, 2, 3, 4, 5]; ***** assert (cconv (x, 1), [1, 2, 3, 4, 5], 2*eps) ***** assert (cconv (x', 1), [1; 2; 3; 4; 5], 2*eps) ***** assert (real (cconv (x, [1 1])), [1, 3, 5, 7, 9, 5], 2*eps) ***** 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/impinvar.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/zerocrossing.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/triang.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/rms.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/lpc.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/lpc.m ***** demo noise = randn (10000, 1); x = filter (1, [1 1/2 1/4 1/8], noise); x = x(end-4096:end); [a, g] = lpc (x, 3); xe = filter ([0 -a(2:end)], 1, x); e = x - xe; [ac, k] = xcorr (e, "coeff"); subplot (2,1,1); plot (x(1:100), "b-", xe(1:100), "r--"); xlabel ("sample"); ylabel ("amplitude"); legend ("original","LPC estimate"); subplot (2,1,2); plot (k,ac,"b-"); xlabel ("lag"); title ("autocorrelation of prediction error"); ***** demo if !isempty ( pkg ("list", "ltfat") ) pkg load ltfat [sig, fs] = linus; x = sig(13628:14428); [a, g] = lpc (x, 8); F = round (sort (unique (abs (angle (roots (a))))) * fs / (2 * pi) ); [h, w] = freqz (1, a, 512, "whole"); subplot (2, 1, 1); plot ( 1E3 * [0:1/fs:(length (x)-1)*1/fs], x); xlabel ("time (ms)"); ylabel ("Amplitude"); title ( "'linus' test signal" ); subplot (2, 1, 2); plot (w(1:256)/pi, 20*log10 (abs (h(1:256)))); xlabel ("Normalized Frequency ({\\times \\pi} rad/sample)") ylabel ("Magnitude (dB)") txt = sprintf (['Signal sampling rate = %d kHz\nFormant frequencies: ' ... '\nF1 = %d Hz\nF2 = %d Hz\nF3 = %d Hz\nF4 = %d Hz'], fs/1E3, ... F(1), F(2), F(3), F(4)); text (0.6, 20, txt); endif ## test input validation ***** error [a, g] = lpc () ***** error [a, g] = lpc (1) ***** error [a, g] = lpc (1, 1) ***** error [a, g] = lpc (1, 1, 1) ***** error [a, g] = lpc (1:10, 0) ***** error [a, g] = lpc (1:10, 10) ***** error [a, g] = lpc (1:10, 0.5) ***** error [a, g] = lpc (1:10, 1, [1 2]) ***** test x = [1:4 4:-1:1]; [a, g] = lpc (x, 5); assert (a, [1.0 -1.823903 1.101798 -0.405738 0.521153 -0.340032], 1e-6) assert (g, 0.272194, 1e-6) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/resample.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/reproducible-path/octave-signal-1.4.6/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/rectpuls.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cheby2.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/upsample.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/fracshift.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/decimate.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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) ***** test s = decimate(1:100, 2, 'fir'); assert(s, 1:2:100, 1e3*eps); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/blackmanharris.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/parzenwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/buttord.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/window.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/convmtx.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/fwhm.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/bohmanwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/expwin.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/expwin.m ***** test % even M; odd alpha: w=[0.0321 0.09385 0.184 0.3011 0.4386 0.5858 0.7289 0.8532 0.945 0.9938]; assert (expwin (20, 5), [w flip(w)]', 51e-6); ***** test % odd M; even alpha: w=[0.06202 0.1437 0.2443 0.3611 0.488 0.6172 0.7396 0.8464 0.9294 0.982]; assert (expwin (21, 4), [w 1 flip(w)]', 51e-6); ***** test % even M; odd alpha; canonical: w=[0.006738 0.06285 0.145 0.2583 0.3973 0.5507 0.7035 0.8384 0.9392 0.9931]; assert (expwin (20, 5, 'canonical'), [w flip(w)]', 51e-6); ***** test % odd M; even alpha; canonical: w=[0.01832 0.1047 0.2019 0.3187 0.4493 0.5851 0.7161 0.8317 0.9224 0.9801]; assert (expwin (21, 4, 'canonical'), [w 1 flip(w)]', 51e-6); ***** error expwin ***** error expwin (21.5,1) ***** error expwin (21i,1) ***** error expwin (21:22,1) ***** error expwin ({21},1) ***** error expwin (21, 4i) ***** error expwin (21, 2:3) ***** error expwin (21, {4}) ***** error expwin (21, 4, 1) ***** error expwin (21, 4, 'canonical', 1) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/sos2tf.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/sos2tf.m ***** test B = [1, 1]; A = [1, 0.5]; [sos, g] = tf2sos (B, A); [Bh, Ah] = sos2tf (sos, g); assert (g, 1); assert (Bh, B, 10*eps); assert (Ah, 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 (g, 1); assert (Bh, B, 100*eps); assert (Ah, A, 100*eps); ***** test B = [1, 1]; A = [1, 0.5]; [sos, g] = tf2sos (B, A); [Bh, Ah] = sos2tf (sos, 2); assert (g, 1); assert (Bh, 2 * B, 10*eps); assert (Ah, A, 10*eps); ***** test B = [1, 1]; A = [1, 0.5]; [sos, g] = tf2sos (B, A); [Bh, Ah] = sos2tf (sos, [2, 2, 2]); assert (g, 1); assert (Bh, 8 * B, 10*eps); assert (Ah, A, 10*eps); ***** test sos = [1, 1, 0, 0, 1, 0.5]; [Bh, Ah] = sos2tf (sos); assert (Bh, sos(1,1:3) , 10*eps); assert (Ah, sos(1,4:6), 10*eps); ***** test sos = [0, 1, 1, 1, 0.5, 0]; [Bh, Ah] = sos2tf (sos); assert (Bh, sos(1,1:3) , 10*eps); assert (Ah, sos(1,4:6), 10*eps); ***** test sos = [1, 1, 0, 1, 0.5, 0]; [Bh, Ah] = sos2tf (sos); assert (Bh, [1, 1] , 10*eps); assert (Ah, [1, 0.5], 10*eps); ***** test sos = [0, 1, 1, 1, 1, 0.5]; [Bh, Ah] = sos2tf (sos); assert (Bh, sos(1,1:3) , 10*eps); assert (Ah, sos(1,4:6), 10*eps); ***** test sos = [1, 1, 0, 0, 1, 0.5]; [Bh, Ah] = sos2tf (sos); assert (Bh, sos(1,1:3) , 10*eps); assert (Ah, sos(1,4:6), 10*eps); ***** test sos = [0, 1, 1, 0, 1, 0.5]; [Bh, Ah] = sos2tf (sos); assert (Bh, [1, 1] , 10*eps); assert (Ah, [1, 0.5], 10*eps); ***** test sos = [1, 1, 0, 1, 0.5, 0; 1, 1, 0, 1, 0.5, 0; 1, 1, 0, 1, 0.5, 0]; [Bh, Ah] = sos2tf (sos); assert (Bh, [1, 3, 3, 1] , 10*eps); assert (Ah, [1, 1.5 0.75 0.125], 10*eps); ***** test sos = [0, 1, 1, 0, 1, 0.5; 0, 1, 1, 0, 1, 0.5;0, 1, 1, 0, 1, 0.5]; [Bh, Ah] = sos2tf (sos); assert (Bh, [1, 3, 3, 1] , 10*eps); assert (Ah, [1, 1.5 0.75 0.125], 10*eps); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/fir2.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/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) ***** test #bug 59066 f = [0, 0.45, 0.45, 0.55, 0.55, 1]; m = [1, 1, 0, 0, 1, 1]; b = fir2 (int32(50), f, m); assert(numel(b), 51) fail ("fir2 (50.1, f, m)", "fir2: n must be a non negative integer") fail ("fir2 (-1, f, m)", "fir2: n must be a non negative integer") ***** 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'); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/xcorr.m] >>>>> /build/reproducible-path/octave-signal-1.4.6/inst/xcorr.m ***** shared x, y x = 0.5.^(0:15); y = circshift(x,5); ***** error xcorr () ***** error xcorr (1) ***** error xcorr (x, 1, x) ***** error xcorr (x, 'none', x) ***** error xcorr (x, x, 'invalid') ***** error xcorr (x, 'invalid') ***** test [c,lags] = xcorr(x); # largest spike at 0 lag, where X matches itself - ie the center [m, im] = max(c); assert(m, 4/3, 1e-6) assert(im, (numel(lags)+1)/2); [c1,lags1] = xcorr(x, x); [m, im] = max(c1); assert(m, 4/3, 1e-6) assert(im, (numel(lags1)+1)/2); assert(c1, c, 2*eps); assert(lags1, lags); ***** test [c,lags] = xcorr(x,y); # largest spike at 0 lag, where X matches Y [m, im] = max(c); assert(m, 4/3, 1e-6) assert(lags(im), -5); ***** test [c0,lags0] = xcorr(x,y); [c1,lags1] = xcorr(x,y, 'none'); assert(c0, c1); assert(lags0, lags1); ***** test [c0,lags0] = xcorr(x,y); [c1,lags1] = xcorr(x,y, 'normalized'); assert(lags0, lags1); [m, im] = max(c1); # at 0 lag, should be 1 assert(m, 1, 1e-6); [c2,lags2] = xcorr(x,y, 'coeff'); assert(c1, c2); assert(lags1, lags2); ***** test [c0,lags0] = xcorr(x,y); [c1,lags1] = xcorr(x,y, 'biased'); assert(lags0, lags1); [m, im] = max(c1); assert(m, 1/12, 1e-6); [c1,lags1] = xcorr(x, 'biased'); assert(lags0, lags1); [m, im] = max(c1); assert(m, 1/12, 1e-6); ***** test [c0,lags0] = xcorr(x,y); [c1,lags1] = xcorr(x,y, 'unbiased'); assert(lags0, lags1); [m, im] = max(c1); assert(m, 1/8.25, 1e-6); ***** test [c,lags] = xcorr(x,y, 10); [m, im] = max(c); assert(lags(im), -5); assert(lags(1), -10); assert(lags(end), 10); [c,lags] = xcorr(x,10); [m, im] = max(c); assert(lags(1), -10); assert(lags(end), 10); ***** test [c0,lags0] = xcorr(x,y, 'normalized', 10); [c1,lags1] = xcorr(x,y, 10, 'normalized'); assert(c0, c1); assert(lags0, lags1); 14 tests, 14 passed, 0 known failure, 0 skipped Checking C++ files ... [src/__fwht__.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/src/__fwht__.cc ***** assert (1) 1 test, 1 passed, 0 known failure, 0 skipped [src/medfilt1.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/firpm.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/src/firpm.cc ***** error firpm (1.1, 2, 3); ***** error firpm (i, 2, 3); ***** error firpm ([1 2], 2, 3); ***** error firpm (1, 2, 3); ***** error firpm (2, [1 2 3], 3); ***** error firpm (2, [1 i], 3); ***** error firpm (1, [1 2], i); ***** error firpm (1, [1 2], []); ***** error firpm (1, [1 2], [1 2 3]); ***** error firpm (1, [1 2], [1 i]); ***** error firpm (1, [1 2], 1, []); ***** error firpm (1, [1 2], 1, [1 2 3]); ***** error firpm (1, [1 2], 1, [1 2], 'diffi'); ***** error firpm (1, [1 2], 1, [1 2], 'hilberts'); ***** error firpm (1, [1 2], 1, [1 2], {'antisymmetric'}); ***** error firpm (1, [1 2], 1, [1 2], {0, [1 1]}); ***** error firpm (1, [1 2], 1, i); ***** error firpm (2, [0 1], [1 0], {}, 1); ***** warning firpm (1, [.1 .9], 1, [1 2], {0,0,-1}); ***** error firpm (2, [.1 .9], 1); ***** error firpm (1, [1 2], 1, [1 2], 'diff'); ***** error firpm (81, [0 .2 .3 1], [1 -1]); ***** error firpm (81, [0 .2 .3 1], [-1 0], 'a'); ***** test b0 = [ -0.01306844322361 -0.00576879446491 0.00838126690529 -0.04580777271297 -0.03857170268345 -0.06564404551953 -0.03895798206108 0.10957536253443 -0.09596565600341 -0.04596208116089 0.25250866248593 -0.04596208116089 -0.09596565600341 0.10957536253443 -0.03895798206108 -0.06564404551953 -0.03857170268345 -0.04580777271297 0.00838126690529 -0.00576879446491 -0.01306844322361 ]'; [b m] = firpm (20, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'b', {256}); assert (b0, b, 1e-5); assert (m, 0.21493, -5e-5); ***** test b0 = [ -0.00025230206347 -0.01634334994986 0.02291167335102 0.04226921430992 0.01542390317553 0.03368560169380 -0.07263229297607 0.02402776579442 0.10971999889298 -0.19495185723437 0 0.19495185723437 -0.10971999889298 -0.02402776579442 0.07263229297607 -0.03368560169380 -0.01542390317553 -0.04226921430992 -0.02291167335102 0.01634334994986 0.00025230206347 ]'; [b m] = firpm (20, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'h', {256}); assert (b0, b, 1e-5); assert (m, 0.19499, -5e-5); ***** test b0 = [ -0.00377491711564 0.00749876297245 -0.01857378491500 -0.02436623414958 0.02123220611895 -0.00133887288041 0.08769905297256 -0.01438000909341 -0.11006930405280 0.20125570410204 0 -0.20125570410204 0.11006930405280 0.01438000909341 -0.08769905297256 0.00133887288041 -0.02123220611895 0.02436623414958 0.01857378491500 -0.00749876297245 0.00377491711564 ]'; [b m] = firpm (20, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'd', {256}); assert (b0, b, 1e-5); assert (m, 0.49129, -5e-5); ***** test b0 = [ 0.00110112420442 0.00032786748236 0.03890416611405 0.02776952210339 -0.00513106293312 0.00821219616448 -0.05050622257469 0.07143158068636 0.04353182141693 -0.17253512167493 0.13296924791431 0.13296924791431 -0.17253512167493 0.04353182141693 0.07143158068636 -0.05050622257469 0.00821219616448 -0.00513106293312 0.02776952210339 0.03890416611405 0.00032786748236 0.00110112420442 ]'; [b m] = firpm (21, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'b', {256}); assert (b0, b, 1e-5); assert (m, 0.19215, -5e-5); ***** test b0 = [ 0.00688473243750 -0.00142370547227 0.00792901881787 0.05914568352388 0.03038499582274 0.03374098557746 -0.02191978751853 -0.08702247834731 0.10568616843372 -0.06074859970379 -0.18689246939614 0.18689246939614 0.06074859970379 -0.10568616843372 0.08702247834731 0.02191978751853 -0.03374098557746 -0.03038499582274 -0.05914568352388 -0.00792901881787 0.00142370547227 -0.00688473243750 ]'; [b m] = firpm (21, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'h', {256}); assert (b0, b, 1e-5); assert (m, 0.20726, -5e-5); ***** test b0 = [ -0.00164508269033 0.00067200008069 0.00268424782721 -0.03510524314006 0.00455581822868 0.00862256307919 0.03221163698642 0.08429446688809 -0.12214036419364 0.04373834279952 0.19029552670347 -0.19029552670347 -0.04373834279952 0.12214036419364 -0.08429446688809 -0.03221163698642 -0.00862256307919 -0.00455581822868 0.03510524314006 -0.00268424782721 -0.00067200008069 0.00164508269033 ]'; [b m] = firpm (21, [0 .2 .3 .4 .5 .7 .9 1], [0 .2 0 0 .5 .7 0 0], [1 4 16 64], 'd', {256}); assert (b0, b, 1e-5); assert (m, 0.47868, -5e-5); ***** test b0=[ -0.01402452049012097 0.001876620211412957 0.03037229727821556 -0.01238680025691372 -0.0170173995332925 -0.001299983105532321 -0.01887047540094186 0.0478657090945251 0.02646457824791903 -0.05579347345500663 -0.001118815789852797 -0.05887946612620026 0.03589780658038378 0.229839817358415 -0.1717538614573135 -0.2842595261696291 ]'; [b m] = firpm (31 , [0 .3 .4 .7 .8 1], [0 1 0], [10 1 10], 'a', {1}); assert (b, [b0 fliplr(-b0)], 5e-9); assert (m, 0.059734, -5e-5); ***** test b0 = [ -8.876086291046802e-04 2.355569104748801e-02 -8.241671888096303e-04 -4.470074798008300e-02 -2.808154545387648e-03 8.170132813894931e-02 -1.058582827015804e-03 -1.777420298924492e-01 -2.265334116571183e-02 5.239577857603830e-01 8.489449590726375e-01 5.239577857603830e-01 -2.265334116571183e-02 -1.777420298924492e-01 -1.058582827015804e-03 8.170132813894931e-02 -2.808154545387648e-03 -4.470074798008300e-02 -8.241671888096303e-04 2.355569104748801e-02 -8.876086291046802e-04 ]'; [b m] = firpm (N=20, [0 .4 .6 1], {@(n,f,g,w,v1) deal ((log2 (v1/n+w(2)+g)).*(g<=f(2)), ones (size(g))),2*N}); assert (b0, b, 1e-5); assert (m, .0210628, -5e-5); ***** test [b m] = firpm (40, [0 .5 .6 1], [1 0]); assert (m, 0.010304, -5e-5); ***** test [b m] = firpm (40, [0 .25 .3 .6 .65 1], [0 1 0]); assert (m, 0.055834, -5e-5); ***** test [b m] = firpm (30, [0 .2 .4 .6 .8 1], [1 .5 0]); assert (m, 5.6277e-04, -5e-5); ***** test [b m] = firpm (40, [0 .2 .3 .4 .5 .6 .7 .8 .9 1], [1 0 1 0 1], [11 100 7 10 5]); assert (m, 0.25723, -5e-5); ***** test [b m] = firpm (80, [0 .2 .3 1], [1 -1]); assert (m, 6.6123e-04, -5e-5); ***** test [b m] = firpm (40, [0 2.5/pi], [0 2.5], [.5], 'differentiator'); assert (m, 2.5226e-06, -5e-5); ***** test [b m] = firpm (59, [0 .2 .3 1], [0 1 0 0], 'd'); assert (m, 0.0073785, -5e-5); ***** test [b m] = firpm (31, [0 .5 .7 1], [0 1], 'antisymmetric'); assert (m, 0.0015660, -5e-5); ***** test assert (firpm (31, [0 .5 .7 1], [0 1], 'antisymmetric'), firpm (31, [0 .5 .7 1], [0 1], 'hilbert')) ***** test [b m] = firpm (30, [.1 .9], 1, 'antisymmetric'); assert (m, 0.0027064, -5e-5); ***** test [b m] = firpm (1000, [0 .4 .41 1], [1 0]); assert (m, 5.2892e-05, -5e-5); ***** test [b m] = firpm (120, [0 .5 .55 .75 .75 1], [1 0 0], [1 1 4 64 64 64]); assert (m, 0.0048543, -5e-5); ***** test [b m] = firpm (11, [0 2*.45], .5, 'symmetric'); assert (m, 0.045066, -5e-5); ***** warning firpm (298, [0 .28 .33 .48 .53 1], [0 1 0], [93 68 89], {50,-1}); ***** test [b m] = firpm (298, [0 .28 .33 .48 .53 1], [0 1 0], [93 68 89], {50}); assert (m, 6.86583e-05, -5e-5); ***** test assert (firpm (11, [0 2*.45], .5, 'symmetric'), firpm (11, [0 2*.45], .5, 'bandpass')) ***** test assert (firpm (11, [0 2*.45], .5, 'symmetric'), firpm (11, [0 2*.45], .5)) ***** assert (firpm (20, [0 .3 .5 1], [1 1 0 0]), firpm (20, [0 .3 .5 1], [1 0])) ***** test assert ( firpm (30, [0.1 0.9], 1, "antisymmetric"), firpm (30, [0.1 0.9], 1, "hilbert")) ***** test assert ( firpm (11, [0 0.9], 1, {1}), firpm (11, [0 0.9], 1, {64})) ***** test [b1 m1] = firpm (20, [0 0.4 0.5 1], [1 0], [1 1/8]); [b2 m2] = firpm (20, [0 0.4 0.5 1], [1 0], [8 1]); assert (b1, b2) assert (m1 * 8, m2) ***** demo N=38; F=[0 .47 .53 1]; A=[1 1 0 0]; W=[1 1]; ant=0; [b m r] = firpm (N, F, A, W, 'sa'(1+ant)); mul=[1 i](1+ant); clf; [h f] = freqz (b); plot (f/pi, real (mul*h.*exp (i*f*N/2)), f=F(1:2),(a=A(1:2))-(M=m/W(1)),'r', f, a+M,'r', f=F(3:4),(a=A(3:4))-(M=m/W(2)),'r', f, a+M,'r', r.fextr, real ((mul*r.H.*exp (i*r.fgrid*pi*N/2))(r.iextr)),'ko') grid on; axis ([0 1 -.1 1.1]); set (gca, 'xtick', [0:.1:1], 'ytick', [0:.1:1]) title (sprintf ('firpm type-I low-pass filter (order=%i)', length (b) - 1)); ylabel ('Amplitude response'); xlabel ('Frequency (normalized)') axes ('position', [.58 .35 .3 .5]) stem (b); grid off title ('Impulse response') axis ([1 length(b) -.15 .55]) %-------------------------------------------------- % Figure shows transfer and impulse-response of % half-band filter design. ***** demo N=41; F=[0 .1 .16 .34 .4 1]; A=[0 0 1 1 0 0]; W=[1 3 2]; ant=1; [b m r] = firpm (N, F, A, W, 'sa'(1+ant)); mul=[1 i](1+ant); clf; [h f] = freqz (b); plot (f/pi, real (mul*h.*exp (i*f*N/2)), f=F(1:2),(a=A(1:2))-(M=m/W(1)),'r', f, a+M,'r', f=F(3:4),(a=A(3:4))-(M=m/W(2)),'r', f, a+M,'r', f=F(5:6),(a=A(5:6))-(M=m/W(3)),'r', f, a+M,'r', r.fextr, real ((mul*r.H.*exp (i*r.fgrid*pi*N/2))(r.iextr)),'ko') grid on; axis ([0 1 -.1 1.1]); set (gca, 'xtick', [0:.1:1], 'ytick', [0:.1:1]) title (sprintf ('firpm type-IV weighted band-pass filter (order=%i)', length (b) - 1)); ylabel ('Amplitude response'); xlabel ('Frequency (normalized)') axes ('position', [.55 .4 .3 .4]) stem (b); grid off title ('Impulse response') axis ([1 length(b) -.3 .3]) %-------------------------------------------------- % Figure shows transfer and impulse-response of % band-pass filter design. ***** demo curve = @(a,b,y,z,x) z*(b-a)./((x-a)*z/y+b-x); respFn = @(n,f,g,w,curve) deal (g>=f(3) & g<=f(4), ... (g<=f(2)).*curve (f(2),f(1),w(1),w(3),g) + ... (g>=f(3) & g<=f(4))*w(2) + ... (g>=f(5) & g<=f(6)).*curve (f(5),f(6),w(1),w(3),g) + ... (g>f(7))*w(4)); % NB contiguous bands so > not >=. b=firpm (127, [0 .2 .24 .26 .3 .5 .5 1], {respFn, curve}, [10 1 100 10]); clf; [h f]=freqz (b); plot (f/pi, 20*log10 (abs (h))) grid on; axis ([0 1 -90 5]); set (gca, 'xtick', [0:.1:1], 'ytick', [-80:10:0]) title (sprintf ('firpm type-II band-pass filter with shaped stop-bands (order=%i)', length (b) - 1)); ylabel ('Magnitude response (dB)'); xlabel ('Frequency (normalized)') %-------------------------------------------------- % Figure shows transfer of band-pass filter design % with shaped error-weight in the stop-bands. ***** demo b = firpm (40, [0 .1 .3 1], [-1 1]); clf; [h f] = freqz (b,1,2^14); plot (f/pi, 20*log10 (abs (h))) grid on; axis ([0 1 -60 5]); set (gca, 'xtick', [0:.1:1]) title (sprintf ('firpm type-I notch filter (order=%i)', length (b) - 1)); ylabel ('Magnitude response (dB)'); xlabel ('Frequency (normalized)') axes ('position', [.42 .55 .45 .2]) plot (f/pi, 20*log10 (abs (h))); grid on axis ([0 1 -(e=1e-2) e]) title ('Pass-bands detail') axes ('position', [.42 .2 .45 .2]) stem (b); grid off title ('Impulse response') axis ([1 length(b) -.45 .65]) %-------------------------------------------------- % Figure shows transfer and impulse-response of % notch filter design. ***** demo b = firpm (1000, [0 .4 .41 1], [1 0], {1}); clf; [h f] = freqz (b, 1, 2^17); plot (f/pi, 20*log10 (abs (h))) title (sprintf ('firpm type-I brick-wall low-pass filter (order=%i)', length (b) - 1)); ylabel ('Magnitude response (dB)'); xlabel ('Frequency (normalized)') grid on; axis ([0 1 -100 5]); set (gca, 'xtick', [0:.1:1]) axes ('position', [.55 .6 .3 .2]) plot (f/pi, 20*log10 (abs (h))); grid on title ('Details') axis ([.38 .401 -(e=1e-3) e]) axes ('position', [.55 .3 .3 .2]) plot (f/pi, 20*log10 (abs (h))); grid on axis ([.409 .43 -86 -85]) axes ('position', [.2 .35 .2 .3]) semilogy (abs (b)); grid off title ('Impulse response magnitude') axis ([0 length(b)+1 1e-6 1]) %-------------------------------------------------- % Figure shows transfer and impulse-response of % brick-wall low-pass filter design. ***** demo b = firpm (20, [0 2.5]/pi, [0 2.5], 'differentiator'); clf [h f] = freqz (b,1,2^12); subplot (2, 1, 1) plot (f, abs (h)); grid on title (sprintf ('firpm type-III differentiator filter (order=%i)', length (b) - 1)); ylabel ('Magnitude response'); xlabel ('Frequency (radians/sample)') axis ([0 pi 0 pi]) subplot (2, 1, 2) plot (f, abs (abs (h)./f-1)); grid on axis ([0 2.5 0 1e-3]) title ('Pass-band error (inverse-f weighted)') %-------------------------------------------------- % Figure shows transfer of differentiator filter design. % above: full-band % below: detail of pass-band error (inverse-f weighted) ***** demo b = firpm (30, [.05 .95], 1, 'antisymmetric'); clf; [h f] = freqz (b); plot (f/pi, abs (h)) grid on; axis ([0 1 0 1.1]); set (gca, 'xtick', [0:.1:1], 'ytick', [0:.1:1]) title (sprintf ('firpm type-III hilbert transformer filter (order=%i)', length (b) - 1)); ylabel ('Magnitude response'); xlabel ('Frequency (normalized)') axes ('position', [.3 .25 .45 .4]) stem (b); grid off title ('Impulse response') axis ([1 length(b) -.7 .7]) %-------------------------------------------------- % Figure shows transfer and impulse-response of % hilbert filter design. ***** demo cic = @(f) (sin (pi*(f+eps*!f)/2)./sin (pi*(f+eps*!f)/2/10)/10).^4; if compare_versions(OCTAVE_VERSION, '6', '<') eval('b = firpm (30, [0 .5 .7 1], @(n,f,g, w) deal (a=(g<=f(2))./cic (g), 1./(a+!a)));') else function [ag wg] = resp (n,f,g,w) ag = (g<=f(2))./cic (g); wg = 1./(ag+!ag); endfunction b = firpm (30, [0 .5 .7 1], @resp); endif clf; [h f]=freqz (b); plot (f/=pi, 20*log10 (abs (h))) grid on; axis ([0 1 -60 6]); set (gca, 'xtick', [0:.1:1]) title (sprintf ('firpm type-I CIC-compensation filter (order=%i)', length (b) - 1)); ylabel ('Magnitude response (dB)'); xlabel ('Frequency (normalized)') axes ('position', [2 3 4 3]/10) plot (f, 20*log10 (abs (h).*cic (f))); axis ([0 .55 -.04 .04]); grid on title ('Compensated filter response') %-------------------------------------------------- % Figure shows transfer details of CIC-compensation % filter design. ***** demo clf; n=30; Fp=.8; for d=linspace (-.5, .5, 10) b = firpm (n, [0 Fp], {@(n,f,g,w,d,Fp) (g<=Fp).*cos (g*pi*d),d,Fp})... + firpm (n, [0 Fp], {@(n,f,g,w,d,Fp) (g<=Fp).*sin (g*pi*d),d,Fp}, 'a'); [g f]=grpdelay (b); set (gca,'ColorOrderIndex',1); plot (f/pi, g-n/2); hold ('on'); end; hold ('off'); grid on; axis ([0 1 -.6 .6]); set (gca, 'xtick', [0 Fp 1], 'ytick', [-.5:.5:.5]) title (sprintf ('firpm type-I fractional-delay filters (order=%i)', length (b) - 1)); ylabel ('Fractional-delay (samples)'); xlabel ('Frequency (normalized)') %-------------------------------------------------- % Figure shows delay response of (non-linear-phase) % filter designs with progressive fractional-delay. 52 tests, 52 passed, 0 known failure, 0 skipped [src/__ultrwin__.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/src/__ultrwin__.cc ***** assert (1) 1 test, 1 passed, 0 known failure, 0 skipped [src/upfirdn.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/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/cl2bp.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/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); assert(cl2bp(7, 0.25*pi, 0.75*pi, [0.01, 1.04, 0.01], [-0.01, 0.96, -0.01]), b, 1e-14); 1 test, 1 passed, 0 known failure, 0 skipped [src/remez.cc] >>>>> /build/reproducible-path/octave-signal-1.4.6/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 Done running the unit tests. Summary: 1071 tests, 1070 passed, 1 known failures, 0 skipped dh_installdocs -O--buildsystem=octave dh_installchangelogs -O--buildsystem=octave dh_octave_changelogs -O--buildsystem=octave dh_octave_examples -O--buildsystem=octave dh_installinfo -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 -a -O--buildsystem=octave dh_strip -a -O--buildsystem=octave dh_makeshlibs -a -O--buildsystem=octave dh_shlibdeps -a -O--buildsystem=octave dh_octave_substvar -O--buildsystem=octave 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' in '../octave-signal_1.4.6-1_i386.deb'. dpkg-deb: building package 'octave-signal-dbgsym' in '../octave-signal-dbgsym_1.4.6-1_i386.deb'. dpkg-genbuildinfo --build=binary -O../octave-signal_1.4.6-1_i386.buildinfo dpkg-genchanges --build=binary -O../octave-signal_1.4.6-1_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload 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/19959 and its subdirectories I: Current time: Sat Jan 17 14:26:28 -12 2026 I: pbuilder-time-stamp: 1768703189 Sun Dec 15 20:03:31 UTC 2024 I: 1st build successful. Starting 2nd build on remote node ionos2-i386.debian.net. Sun Dec 15 20:03:31 UTC 2024 I: Preparing to do remote build '2' on ionos2-i386.debian.net. Sun Dec 15 20:10:55 UTC 2024 I: Deleting $TMPDIR on ionos2-i386.debian.net. Sun Dec 15 20:10:56 UTC 2024 I: octave-signal_1.4.6-1_i386.changes: Format: 1.8 Date: Sun, 29 Sep 2024 08:44:02 -0300 Source: octave-signal Binary: octave-signal octave-signal-dbgsym Architecture: i386 Version: 1.4.6-1 Distribution: unstable Urgency: medium Maintainer: Debian Octave Group Changed-By: Rafael Laboissière Description: octave-signal - signal processing functions for Octave Changes: octave-signal (1.4.6-1) unstable; urgency=medium . * New upstream version 1.4.6 * d/control: + Bump Standards-Version to 4.7.0 (no changes needed) + Resctrict build-dependencies needed for building the documentation to the "!nodoc" profile * d/clean: Clean doc/signal.html Checksums-Sha1: b32fe19ad5ea6238c699fd9d2caf485def2ce5f5 2369884 octave-signal-dbgsym_1.4.6-1_i386.deb 12412d2dfbe7e421ac7bb235662f220af3502cca 22852 octave-signal_1.4.6-1_i386.buildinfo 44e60f96982e91954752e6b340210cd298c6c5ae 750072 octave-signal_1.4.6-1_i386.deb Checksums-Sha256: 13a7597ad3355c8fabc06e1230cc89ecfc61dd31da1fd373611b71c54e956060 2369884 octave-signal-dbgsym_1.4.6-1_i386.deb a83fab0a71c3cad4d424e00b0a7821a9ac61a4806f92d5ed73db91d16526cbc6 22852 octave-signal_1.4.6-1_i386.buildinfo 57d7e6814aafb71e3d61ba3e67e160f6723680a4d709f461cab2f4913ff986fd 750072 octave-signal_1.4.6-1_i386.deb Files: 5db90f109e3ba2222e69a0a69e37ed05 2369884 debug optional octave-signal-dbgsym_1.4.6-1_i386.deb f9919aa614af00b4df58cdcd118376ab 22852 math optional octave-signal_1.4.6-1_i386.buildinfo 2cd561df3e6269cb63c1c98586c17784 750072 math optional octave-signal_1.4.6-1_i386.deb Sun Dec 15 20:10:57 UTC 2024 I: diffoscope 284 will be used to compare the two builds: Running as unit: rb-diffoscope-i386_11-38760.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/octave-signal_1.4.6-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/octave-signal_1.4.6-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/octave-signal_1.4.6-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/b1/octave-signal_1.4.6-1_i386.changes /srv/reproducible-results/rbuild-debian/r-b-build.4J4KOeqT/b2/octave-signal_1.4.6-1_i386.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.351s) 0.351s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.041s) 0.041s 12 calls diffoscope.comparators.binary.FilesystemFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 642ms CPU time consumed: 643ms Sun Dec 15 20:10:58 UTC 2024 I: diffoscope 284 found no differences in the changes files, and a .buildinfo file also exists. Sun Dec 15 20:10:58 UTC 2024 I: octave-signal from trixie built successfully and reproducibly on i386. Sun Dec 15 20:10:59 UTC 2024 I: Submitting .buildinfo files to external archives: Sun Dec 15 20:10:59 UTC 2024 I: Submitting 24K b1/octave-signal_1.4.6-1_i386.buildinfo.asc Sun Dec 15 20:11:00 UTC 2024 I: Submitting 24K b2/octave-signal_1.4.6-1_i386.buildinfo.asc Sun Dec 15 20:11:01 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sun Dec 15 20:11:01 UTC 2024 I: Done submitting .buildinfo files. Sun Dec 15 20:11:01 UTC 2024 I: Removing signed octave-signal_1.4.6-1_i386.buildinfo.asc files: removed './b1/octave-signal_1.4.6-1_i386.buildinfo.asc' removed './b2/octave-signal_1.4.6-1_i386.buildinfo.asc'