It looks to me that the Signal-to-Noise ratio (SNR or S/N) is completely arbitrary and it's set by the user according to his preferences.

Sorry I am amateur on the subject but I don't see any limitation on this value, it can be set according to what the person transmitting wants to do.

The bit / second rate can be adjusted for speed,quality or quantity, I think those are the only variables.

The Shannon–Hartley formula can be tweaked according to a user's needs:

$$ C = B * log_2(1 + S/N) $$

So for example if I have 1 hour to transmit a 64 bit message, I can choose the optimal S/N ratio.

1 hour is 3600 seconds, so I need a bit/sec rate of minimum 0.017778 bit/sec.

And do achieve that I either tweak S/N ratio or the bandwidth.

  • So on 1 Hz a S/N of 0.0125 would give me 0.017921 b/s which would be enough to broadcast the 64 bit message in 1 hour.
  • Or I could choose 1 KHz and a S/N rate of 0.0000125 which would give 0.01803 b/s.
  • Or 1 Mhz with a S/N rate of 0.0000125 which would give 18.03 b/s that would deliver the message in 3.55 seconds.

So are there any other physical limitations here or is this completely arbitrary and it up to the user to choose.

I have heard that if the S/N rate is below 1, you need a special encoding with checksums to make sure the bits you receiver are genuine. So I guess you would need to send more than 64 bits of information in that case. So that could be an additional burden.

Is there anything else to keep in mind?

  • \$\begingroup\$ it's usually "ratio", not "rate"; correcting that in your question :) \$\endgroup\$ Jul 31, 2017 at 7:11
  • \$\begingroup\$ Anyway, your question starts with a false claim: "It looks to me that the Signal-to-Noise ratio (SNR or S/N) is completely arbitrary and it's set by the user according to his preferences." No, that is what the system experiences after being subject to noise and signal deterioration. The designer can't pick that. \$\endgroup\$ Jul 31, 2017 at 7:12
  • 1
    \$\begingroup\$ the Shannon-Hartley limit is a limit, and can't be tweaked, either. Given an SNR and a fixed bandwidth, you can't transmit more bit/s than it allows. It doesn't give any info on how to do that. You usually can't just pick your bandwidth but are limited by legal and technological constraints. Much like you can't just pick a transmit power (your smartphone doesn't have an integrated nuclear power plant allowing you to transmit with 1MW, for example, nor would it be legal to do so). \$\endgroup\$ Jul 31, 2017 at 7:14
  • \$\begingroup\$ your "if S/N <1, special encoding is needed" is wrong, too. In fact, extremely low SNRs are exactly the cases where you don't do channel coding; you'd do it for better SNRs to improve your Bit Error Rate (BER). \$\endgroup\$ Jul 31, 2017 at 7:15
  • 1
    \$\begingroup\$ "it can be set according to what the person transmitting wants to do" - the person transmitting has no idea what the receive SNR is likely to be. \$\endgroup\$
    – Andy aka
    Jul 31, 2017 at 7:44

3 Answers 3


At first I wondered what to do with your question, because there was a lot of misunderstanding in it, but finally, let's just answer the core question:

It looks to me that the Signal-to-Noise ratio (SNR or S/N) is completely arbitrary and it's set by the user according to his preferences.

No. That's wrong.

The signal power reaching a receiver is a product of the signal power transmitted by the sender, the path(s) between that sender and the receiver, the receiver properties and so on. Most importantly, it's the power of what you consider to be a part of your signal, based on your mathematical signal model, reaching your receiver.

The noise power, basically, is everything that you don't label as signal.

So, there's absolutely nothing a developer chooses. A dev will try to optimize the SNR, but it's an effect, not a design freedom.

  • \$\begingroup\$ a poor question, but good answer. \$\endgroup\$
    – Solar Mike
    Jul 31, 2017 at 8:50
  • \$\begingroup\$ @SolarMike thanks. It's basically just one of my comments to the question recycled as an answer. This was the uneasy case where I downvoted a question and then went on to answer it. Hope this helps future readers. \$\endgroup\$ Jul 31, 2017 at 9:03
  • \$\begingroup\$ Signal to Noise can certainly be a specification, i.e. a number to design to. "Optimize" doesn't quite capture that. \$\endgroup\$ Jul 31, 2017 at 10:54
  • \$\begingroup\$ @MarcusMüller thanks for clarification indeed it's a poor question but thanks for clearing up some confusions that I had, I'll read more on this subject. \$\endgroup\$
    – David K.
    Aug 5, 2017 at 14:42

In most cases your assumption is not true:

In many cases you just can't chose because you are the receiver and you have to put up with what you get. You can't "set" the SNR; at best you can try to make it not worse.

Even if you are the transmitter or at least you can control the transmitter in some way choosing the SNR has some cost: in most cases cost is (transmission) power, and of course that's never for free. So even then you can "set" the SNR only within some limits.


SNR is not something you decide...its what you get at the receiver. Its the ratio of the signal power to noise power at the receiver. Consider the following linear model.


So lets assume the signal 's' has a value of 1 and the channel 'h' has a value of 0.1 and noise 'n' at the receiver is 0.01. So if you transmit s=1 at the transmitter you will get 'x' at the receiver calculated as.


Here the SNR can be calculated as 20*log10(0.1/0.01)=20dB or 100 on the linear scale. If the possible transmitted values of 's' were +1 or -1 then you would detect it correctly since what you received looks more like a +1 than -1 (since greater than 0).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.