Digital can be maddening because it alternates between crystal-clear and OFF, which ultimately I think is worse. Some streaming services will also decide to auto-next-song after the slightest glitch which is annoying too.
I wonder if there are audio codecs that work similarly to wavelet based video codecs (DWT instead of DCT) where you could have stepwise degradation.
1. Sort your bits by importance. 2. Encode them as a real number using arithmetic coding. 3. Transmit that real number in an analogue way.
That means the more noise you have in your signal the fewer bits you receive correctly.
There are probably much more clever ways to do it than that but I don't think much work has really been done on it unfortunately because it's quite complex.
Why the digital FM standard doesn't do that, I'm at a loss.
There are definitely progressive codecs. Hell, look at JPEG (which uses Wavelets). Older kids will remember waiting for JPEG's of naked ladies to get "clearer and clearer" as the interlaced mode progressively builds the picture.
p.s. Wavelets are a super fun Google/Wiki to read up on over a night.
[edit] IT SHOULD BE NOTED, not all countries may have adapted the same codec so this "popping out" issue may only affect certain countries.
Why the digital FM standard doesn't do that, I'm at a loss.
The form of progressiveness in JPEG and other file formats is conceptually quite simple --- you send the "rough draft" first, then incrementally improve quality by sending more bytes. "Degradation" is basically limited to truncating the stream.
Broadcast radio reception degrades in a very different way --- (unpredictable) parts of the signal vary in strength or actually become corrupted. Either the decoder can decode the bits correctly or it can't, and which parts get weakened or corrupted is not easily predictable.
I think it is worth mentioning that this is called fault tolerance, aka graceful degradation.
You mean between 1 and 0?
If you run ytalk on a modern machine, it doesn't flicker, but you can still get every keystroke, because that's the protocol.
w.r.t broadcast video, the eye/mind can still pick out an image from a static-filled snowy image, but digital artifacts from low/poor signal result in freeze-frames and garbled mess.
Summary: Digital. When it's good, it's very good. But when it's bad, it's awful.
You mean yelling into the phone really loud and than also knowing your paying $0.29 a minute? The technology was bad and the quality was bad unless you were calling locally. I think what your missing is people not talking to you and not being distracted by the internet or some other diversion?
1. I'm not sure if people are universally incapable of talking like that, ie. with a bit of self-restraint and without cutting in at every opportunity. I'm not sure, but I strongly suspect that this is related to the culture of people involved. As an example (or an anecdote) I work remotely full-time and participate in a lot of conference calls, yet I was interrupted just a couple of times. Never twice by the same person, though.
2. People are able to talk (and communicate) in so many different circumstances and environments, like over the radio, on a boat during a storm, on paper, with a flashlight and Morse code... that I don't think it's that hard for them to assimilate yet another protocol to follow when talking. It really shouldn't be impossible, I think.
I really strongly suspect it's a matter of culture. I was taught, from a very young age, that interrupting someone when they're speaking is simply rude, and that if you respect someone enough to talk to them, you should also respect them enough to let them say whatever they wished to say.
It's also true for many of my acquaintances, at least those from my generation and older. People who talk too much, too often and are unable to let others finish what they're saying are regarded as hyperactive, perhaps with ADHD, or really bad marketers, sect recruiters and such. This is still just an anecdote, but it at least shows that it's possible for groups of people to use a different mode of talking.
An honest question: listening what the person has to say from start to finish is so tightly correlated (in my mind) with respect for that person, that I never considered that you can get interrupted, possibly many times in a row, and not feel offended. What do you think about this notion? Do you think that it's a speaker fault if he's out of words for a few seconds, and is responsible for maintaining a steady stream of speech from start to finish? In other words, how do you justify people cutting in? Or is that simply a non-issue to you?
Rude people with poor manners is orthogonal to this issue.
After thinking it through while writing a sibling post, I now think that it's very probable to depend on a country. I think people from (to give an example I'm familiar with) most Warsaw Pact countries may be able to tolerate doing this much better than people in countries accustomed to high-quality products and services.
Or it may be just a kind of bubble I live in or something, I'm not entirely sure :)
Conversation is a fluent flow. It isn't always quick, but it's often constant. There's a rhythm. Break the rhythm, and you're breaking the expectations of your conversational partner.
> An honest question: listening what the person has to say from start to finish is so tightly correlated (in my mind) with respect for that person, that I never considered that you can get interrupted, possibly many times in a row, and not feel offended. What do you think about this notion?
I was taught that avoiding interruption was a sign of respect, as well. Do you actually get offended if someone interrupts you without meaning to?
> Do you think that it's a speaker fault if he's out of words for a few seconds, and is responsible for maintaining a steady stream of speech from start to finish?
Usually being the one at a loss for words myself, my answer is "yes". If you don't make some signal that you're working on formulating a response, you can reasonably expect someone else to jump in and fill the space. I don't feel that it's something that needs justified; one can't really "justify" social norms.
That's kind of my point! Talking over a weak connection is a situation which warrants making that "length of time" longer. My argument is that doing so is not a big deal, not hard to learn, and quite a practical (if temporary, hopefully) solution to problems with the transmission during calls.
> Conversation is a fluent flow. It isn't always quick, but it's often constant. There's a rhythm. Break the rhythm, and you're breaking the expectations of your conversational partner.
Yes, that's all true, but I don't want to break the flow, just slow it down a little. If we both know that we're talking over an unreliable connection, is it really that hard to adjust and give your partner additional few seconds in cases where you suspect they not finished yet?
> Do you actually get offended if someone interrupts you without meaning to?
I'm not sure. As I said, I don't have much experience with this kind of situations. But I think that, if I said (when joining the conversation) that "I use a rather bad connection right now and I'd like to ask you guys to take that into account if I happen to fall silent for a second, sorry for the inconvenience" and still got interrupted many times in a row, then I guess yes, I'd feel somewhat offended (that may not be the best word for it, though, but I'd feel rather uncomfortable).
My reasoning is that we're all adults, we know that the technology we use is imperfect but decide to use it anyway, so we should learn to mitigate the problems with it. They may get solved one day, maybe even soon, but, in the meantime, we can make the experience much better by ourselves. (Now I'm seriously considering if that kind of mentality seems natural to me because of being brought up in a country behind an Iron Curtain, where nearly everything by default was crap and you needed a lot of creativity and skill to make these damn things even usable. Interesting thought.)
> Usually being the one at a loss for words myself, my answer is "yes". If you don't make some signal that you're working on formulating a response
Yes, but that's assuming nearly perfect connection at all times. But we know we're using something that can be rather shitty at times, so we should just adjust accordingly. Or rather, I have a hard time understanding why wouldn't you want to do just that. Isn't it frustrating to get interrupted (even if only by mistake) constantly?
Anyway, returning to the beginning, the various "parameters" of a spoken discussion, like how long you wait for your partner to start responding, how long you wait to ascertain they're done speaking, how loud you need to speak (or how closely you need to listen on the other side), what kinds of interruptions are expected, and so on are there to be tweaked depending on circumstances.
I just now realized that in principle we could be in agreement, but differ in how far we're willing to tweak these parameters just to talk comfortably. I'm obviously inclined to accept even relatively rigid rules of conversation (the worse the connection, the more of a protocol I would be ok with), but I realize it may be just my personal preference. Well, food for thought me anyway, so thanks :)
I think the problem is that with "analogue" each jump can use a hodgepodge of their own voip going from Analog -> Digital -> Analog. So you can get multiple, lossy compressions with varying settings multiplied together. With user-initiated voip, it's a single compression over the whole connection. So it could be better than user-initiated voip, or a lot worse.
At least that's my laymen's understanding of legacy phone systems.
VoLTE (Voice over LTE) have some other advantages over other calling applications. VoLTE is most likely on a very high QCI (priority), which means it probably has less delay and less packet loss than other traffic. VoLTE also often uses header compression over the air which means the packets gets a lot smaller and therefore also reduces packet loss. I don't think VoLTE usually have very high bitrate though, maybe around 10kbit/s. This is one area where other apps could be a lot better.
EDIT: I am of course only speaking about mobile calls. For landlines I agree that other applications provide better quality.
Basically there aren't many phone calls over non LTE based services. Especially since VoLTE can be used over WLAN via Wlan calling techniques. (the latter isn't supported in all networks.)
This does not describe any landline I've ever used ever, either locally or long distance, even to this day, even at 00:00:01 on any given New Year's Day.
I find older people on the phone get frustrated with the modern phone system and they don't know why.
This isn't even an audio thing. With a classic television, you can crank the channel dial and (along with the instant audio output) see a stable frame within 5-20 frames of vsync (so like 300ms or so worst case).
My TV at home can't switch an input (e.g. between two HDMI inputs) faster than about 3-4 seconds. No, I don't know why either. It's actually much worse if the device being switched away from is a Chromecast. Don't know why there either.
https://www.synopsys.com/designware-ip/technical-bulletin/hd...
Of course, in the time it takes for my television to initiate a secure transaction channel with the input hardware on the other side of the cable, my ?!%!? Netflix app has done a arguably more secure transaction with a server on the other side of the continent. Sigh.
> I can send an IP packet to Europe faster than I can send a pixel to the screen. How f’d up is that?
John Carmack
https://twitter.com/id_aa_carmack/status/193480622533120001?...
Hardcoded "everything is NTSC" vs a mutual handshake/negotiation and mode change makes sense, though I too wish it was much faster.
I'm told GSM phone calls do the same thing, apparently so you can tell the difference between a temporary dropout and a dead line.
It's kinda funny.
Almost everyone wants sub streams so they can offer more options.
Never waste a bit on quality that could be delivering choice.
Subsequently rendered redundant by Napster, but we are stuck with DAB.
It's quantity now, with "just goos enough" translating to what people will tolerate.
Thought experiment for you:
Which do you prefer?
Low quality, but compelling. Or high quality, not so compelling?
That answer is what drives everything. People will take compelling every time. Very few will take quality as a primary factor.
More choice = more opportunity to be more compelling = higher AD rates = more revenue per bit.
That's how it is sold indeed, but not entirely true. There is definitely a better signal to noise ratio, but the sample rate is pretty bad which makes the quality lower than normal FM. It's only a 128kbs MP3/AAC stream!
It's only because people don't hear noise anymore they think the quality is better. Analog FM is by the way much more robust too as a signal.
A shame the government forces people to invest in lower quality qear..
MP2 is transparent once you get to 256kbit, so the actual codec isn't really the problem, it's the bitrate choice. I don't have any experience of EU DAB, but in the UK, most DAB stations are 128K, which isn't even close to being transparent. The audio quality on FM is considerably better.
On the other hand, having to look a menu while driving car is not good.
In that setting, nobody's going to say, "Hey, let's just pop this radio into our cars, live with it for a few weeks, and then figure out where we need to go next." It's too late. Instead I think the thing to do is force convergence early and often in the product timeline, so that the supposedly-little things like this have plenty of time to get noticed and fixed.
A good example of this is Apple. I'm told that in consumer electronics the typical number of iterations with physical prototypes is 3-7. For the first iPod, Apple went through more than 100. The difference was enough for them to crush the competition so thoroughly that people these days are surprised to hear that there were MP3 players before the iPod (and smartphones before the iPhone).
...which is actually quite suitable for the safety-critical parts of a car like the ECU and other controllers that control the actual driving aspect, but not for everything else that doesn't need such a level of process.
On the other hand, I suppose it could also be blamed on the lack of "performance is a feature" --- if they specified the radio to be as responsive as the accelerator and brake, for example.
I do think short-cycle methods have some intrinsic advantages, though. By making critical functionality available much earlier for testing, you get more time and more chances to make sure it's really safe. If early versions are bad, you get early warning signs that aren't available in a Waterfall process. And if testing turns up issues early on, it's much cheaper to make fundamental architectural changes: less code to change and more time to change it in. And Waterfall processes aren't at good at dealing with unknown unknowns; some things you only learn by trying them out.
Maybe it's the whole "let's run Linux on it because we can" phenomenon. The microcontrollers in the old electronic radios didn't run an OS but interacted with the hardware directly. The number of instructions executed from sensing the dial change to updating the tuner and display would probably be less than 100. Now it's half a dozen layers of abstraction and millions of instructions to do the same thing, on a processor which is maybe "only" 1000x faster at most...
Or am I totally misreading this?
Coupled with a decoder that can manage double the actual frame rate, it should cut the switch time with something like on average 1/4, worst case better than 1/2.
Another source of delay is just the length of audio packets themselves (have to wait for the beginning of one) and radio limitations.
But they're compressed in such a way that doesn't require any previous frame. It's compressed like a picture would be.
The sad part is that HD Radio is actually startlingly better on AM, while FM is an incremental improvement. But few AM stations use HD because most AM stations operate on a shoestring, and it ruins your fringe coverage.
But when you find an AM station that's in HD and you hear the receiver switch from analog to digital -- holy cow!
At a guess the critical number is "The transmitted signal has a frame structure of 96 ms duration (Transmission mode I)", which implies that most systems will need to buffer at least that much and probably several times that.
Theoretically you could decode all the signals in a particular DAB multiplex at the same time (e.g. all the BBC stations are on the same multiplex in the UK), and then change instantly between them, but I don't think consumer recievers let you do this. Might be able to try it with SDR.
I guess an optimization the receivers could do is decode all the presets, then at least switching between those would be instant.
I would speculate that it's because it's fairly close to 100 and is also divisible by a fairly high power of 2 (32). Buffer management is easier (less arithmetic) when using powers of 2.
I could be completely wrong, but 96 is the kind of number that crops up in computing quite a bit for this reason. Having said that, the number of samples may be more important than the number of milliseconds.
I mean, good point. I dug a bit farther and found this document which discusses the design in some detail:
https://web.archive.org/web/20040919073530/http://www.cs.col...
It looks like MP1 has 32 subbands and works on 12 samples each, which results in a frame size of 384. MP2 works on 3 groups of 12 samples for each subband, resulting in 1152 samples.
Of course this just punts it to the question of why 32, 12, and 3? To which I can only answer: quick, look behind you! <runs away>
At least the mystery numbers are smaller.
But seriously, I'm at (beyond) the limits of my understanding of this stuff, so if anyone with more knowledge would care to chime in and explain those, I'd be most interested to know.
> ...the lag associated with changing channels...
It seems like this is mostly the fault of the receiver, to me it doesn't seem like there's any reason that the receiver can't just have several filters (tuned to adjacent or saved channels) and demodulators running, so that you can tune instantly to them.
I think the bigger problem with DAB, to my eyes, is codec selection and graceful degradation.
For the sales, I call them every ~5 months, say I will pay $25+tax for 5 months or something like that, I set the next calendar event.
When I worked on an XM receiver project, I recall they had about 1.5 mbit of bandwidth to work with. Most stations were 16 or 32Kbit AAC+.
The talk stations used 8kbit AMBE, which is pretty much the same as a vocoder. You weren't far off by calling it robot talk.
I think they could do a lot better if they used their modern position to their advantage. Most receivers are in cars, and many cars are coming with always on internet. Hook up to that and a) report on coverage deficiencies, b) fill in from internet streaming when in poor coverage areas, c) get metrics on listener numbers so things that nobody hears can be dropped, d) use streaming to boost bitrate.
That was 2005
It's not any better now.
Well, of course. Sirius XM, where's the competition?
The solution is to kill radio and use the signal to increase internet access, then everybody can hear what they want.
The entire AM (MW) band is little over 1.1 Mhz wide.
As far as I remember, the upper limit to the quantity of information you can send is solely set by the bandwidth, and is not dependent on the carrying frequency.
[1] https://en.wikipedia.org/wiki/Noisy-channel_coding_theorem
On the transmit side, you have to carefully combine the outputs of your various transmitters with a complex filter network, which at high powers looks something like:
http://admin.mb21.co.uk/tx/userimages/8448proc20120403120238...
I frequently listen to a classical music station using a radio from the 80s and the audio quality is very good, apart from the noise floor I'd call it almost close to a 128 kbit/s MP3. I know because I own (CD) copies of a whole bunch of recordings the station has in their inventory as well.