Return-Path: X-Spam-DCC: paranoid 1233; Body=2 Fuz1=2 Fuz2=2 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on lipkowski.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL, FORGED_RCVD_HELO,RATWARE_GECKO_BUILD autolearn=no version=3.1.3 Received: from post.thorcom.com (post.thorcom.com [195.171.43.25]) by paranoid.lipkowski.org (8.13.7/8.13.7) with ESMTP id t5M8mG18016329 for ; Mon, 22 Jun 2015 10:48:16 +0200 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1Z6xLy-0001Aa-DC for rs_out_1@blacksheep.org; Mon, 22 Jun 2015 09:45:18 +0100 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1Z6xLy-0001AR-3t for rsgb_lf_group@blacksheep.org; Mon, 22 Jun 2015 09:45:18 +0100 Received: from parrot.netcom.co.uk ([217.72.171.49]) by relay1.thorcom.net with esmtp (Exim 4.85) (envelope-from ) id 1Z6xLw-0007Vn-EK for rsgb_lf_group@blacksheep.org; Mon, 22 Jun 2015 09:45:16 +0100 Received: from sb.abelian.org (i-194-106-52-83.freedom2surf.net [194.106.52.83]) by parrot.netcom.co.uk (Postfix) with ESMTP id EB6983273D7 for ; Mon, 22 Jun 2015 09:39:56 +0100 (BST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by sb.abelian.org (Postfix) with ESMTP id D00EF28A0168 for ; Mon, 22 Jun 2015 08:45:14 +0000 (UTC) Message-ID: <5587CB1A.8040604@abelian.org> Date: Mon, 22 Jun 2015 08:45:14 +0000 From: Paul Nicholson User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: rsgb_lf_group@blacksheep.org References: <394FEA4DA5AA4542828CB5F63AEE2C88@F6CNIToshiba> <474231660.434744.1432735092592.JavaMail.yahoo@mail.yahoo.com> <556640CA.1080101@posteo.de> <5566EDC7.2010508@tele2.se> <556F2EBE.2080906@posteo.de> <3E7121C9C1EB4497AAE525F3AA83484C@gnat> <556F3D82.4060004@posteo.de> <7D2076B0D0D645B8B6446CD4CB3F3E3D@gnat> <55842FAA.4060209@posteo.de> <5585B936.4050000@posteo.de> <5586B4E4.3020503@gmx.net> <5586EAD1.5020808@freenet.de> <5586F663.4080100@posteo.de> In-Reply-To: <5586F663.4080100@posteo.de> X-Scan-Signature: 8ef270cc2ec30cd34b6313d7ada17a45 Subject: Re: LF: VLF vorbis stream, Question Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SA-Exim-Scanned: Yes Sender: owner-rsgb_lf_group@blacksheep.org Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group X-SA-Exim-Rcpt-To: rs_out_1@blacksheep.org X-SA-Exim-Scanned: No; SAEximRunCond expanded to false X-Scanned-By: MIMEDefang 2.56 on 10.1.3.10 Status: O X-Status: X-Keywords: X-UID: 3514 I tested weak signal detection. Measuring carrier S/N after a range of compression types and quality settings. Test carrier: 400 Hz; Noise: Additive white Gaussian; Bandwidth: 16.666 mHz (60 seconds); Sample rate: 48k/sec; Sample width: 16 bits; Channels: 1 (mono); Results: Format Bit rate S/N -------------------------------------------- Uncompressed 768 kbps 8.66 dB FLAC 749 kbps 8.66 dB (note 1) Vorbis VBR q=0.8 171 kbps 8.68 dB (note 2) Vorbis VBR q=0.5 85.9 kbps 8.60 dB Vorbis VBR q=0.3 68.8 kbps 8.64 dB Vorbis VBR q=0.2 65.2 kbps 8.65 dB Vorbis VBR q=0.1 61.0 kbps 8.60 dB Vorbis VBR q=-0.1 35.4 kbps 8.72 dB Vorbis CBR 80kbps 80.8 kbps 8.64 dB (note 3) Vorbis CBR 60kbps 60.8 kbps 8.64 dB Vorbis CBR 40kbps 40.4 kbps 8.71 dB Vorbis CBR 32kbps 32.5 kbps 8.48 dB (note 4) Note 1: The test stream is virtually all random noise so FLAC doesn't reduce the size much. When the band contains lots of 'foreground' signals, it does better. Eg with baseband VLF containing the usual sferics and MSK signals, the FLAC bit rate is about 50% of the raw bit rate. Note 2: VBR = variable bit rate mode, compression level set by a quality factor between -0.1 and 1.0 Note 3: CBR = constant bit rate mode, compression set by specifying a target average bit rate. Note 4: 32 kbps is the minimum allowed with 48k samples/sec mono. Tests were run using vlfrx-tools with command (VBR) vtgen -s f=400,a=0.001 -n a=0.3 -r48000 -T2015-06-22,+600 | vtcat -- - -,i2 | # Restrict to 16 bit samples vtvorbis -ep -q0.3 | # Vorbis encode without timestamps tee /tmp/test.vb | # Save vorbis to measure bps vtvorbis -dp | # Vorbis decode vtnspec -f400 -r16.666e-3 -w10 -v -aN 10 > /tmp/spec.dat For CBR, the vorbis encode command is replaced with vtvorbis -ep -b32 | # Vorbis encode without timestamps This runs a 10 minute test, non-coherent averaging. We see negligible effect on the S/N right down to the lowest quality setting. In this test we have pure white noise and a single weak carrier buried in the noise. What if the band also contains some foreground signals? I repeated some of the tests but this time adding in three strong carriers at other frequencies. Format Bit rate S/N -------------------------------------------- FLAC 752 kbps 8.66 dB Vorbis VBR q=0.5 88.5 kbps 8.58 dB Vorbis VBR q=-0.1 37.8 kbps 8.63 dB Vorbis CBR 32kbps 32.5 kbps 8.48 dB Again, no significant degradation of weak signal detection, even with the strongest compression. Now, what if the measurement bandwidth is wider. I change to 1Hz bandwidth with increased amplitude of the test carrier to compensate, still with three strong carriers mixed in: Format Bit rate S/N -------------------------------------------- Uncompressed 768 kbps 6.27 dB Vorbis VBR q=-0.1 47.6 kbps 6.32 dB Vorbis CBR 32kbps 36.4 kbps 6.30 dB Vorbis works by separating (in the frequency domain) those bins which it considers to contain background noise and encoding them with fewer bits. This doesn't affect S/N noticeably until you get down to less than about 2 bits resolution. Radio astronomers (eg SETI) exploit this and routinely use 1 or 2 bit samples. -- Paul Nicholson --