demodulator reference

59 views
Skip to first unread message

Mostafa Alizadeh

unread,
Apr 25, 2025, 5:33:25 PMApr 25
to gr-gsm
Hi 

I am looking for the reference for the demodulator used in the gr-gsm. I need it to explain everything about the GMSK Viterbi equalization. It is using the channel in the code. I searched a lot for it and I could not find any similar approaches in the references. 

Best, 
Mostafa 

Nikos Balkanas

unread,
Apr 25, 2025, 8:32:14 PMApr 25
to Mostafa Alizadeh, gr-gsm
Hi,

cd gr-gsm/lib/decoding/openbts/
ls -la Viterbi*

Seems to be an openbts contribution.
I don't see any channels, there:)

You can read about Viterbi decoding everywhere:: https://en.wikipedia.org/wiki/Viterbi_decoder

HTH
Nikos

--
You received this message because you are subscribed to the Google Groups "gr-gsm" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gr-gsm+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gr-gsm/1b537316-3c8a-4466-ab5a-c7a9bca73e97n%40googlegroups.com.

Mostafa Alizadeh

unread,
Apr 25, 2025, 9:43:31 PMApr 25
to Nikos Balkanas, gr-gsm

Hi Nikos

Thanks for responding. The Viterbi decoder that I am talking about is for the demodulation. Viterbi algorithm is used in all places for decoding of the messages as well, which are after demodulation. Essentially, I figured out the general idea of the implemented demodulator in gr-gsm, which uses linearized model of GMSK as PAM modulation with auxiliary bits  together with a Viterbi channel equalizer. However, I have not found any resources explaining the details of its derivation. This Viterbi is completely different from the standard Viterbi. Anyway. If anybody knows anything about it, it will be a great help.

Best,
Mostafa

Nikos Balkanas

unread,
Apr 25, 2025, 10:35:11 PMApr 25
to Mostafa Alizadeh, gr-gsm
As I mentioned before this is openbts code. Maybe you should talk to them.
The copyright is from Range Networks.
I also have the original Viterbi loop by Piotr, if you are interested in 
that (Viterbi.c). 
Older gr-gsm releases should have it. Much easier to read:)

BR,
Nikos

Piotr Krysik

unread,
Apr 27, 2025, 12:50:46 AMApr 27
to gr-...@googlegroups.com
Hello,

Mostafa's question was not about the Viterbi algorithm applied for
decoding convolutional codes but regarding the Viterbi algorithm used in
gr-gsm's demodulator inside of a receiver block. That is a separate
question and a valid one.

The Viterbi algorithm in the demodulator performs 'equalization'. In
GMSK modulation, the ideal MSK signal is filtered by the modulator's
Gaussian filter applied to the signal phase, which causes some
interference between consecutive symbols (this is called Inter-Symbol
Interference - ISI). Even more importantly a signal passes through a
radio channel, for which the impulse response changes constantly. Radio
propagation results in time-varying ISI, which lowers the symbols' SINR
(Signal Interference + Noise Ratio).

To counter the ISI, the (combined) channel impulse response (CIR) is
estimated, and the Viterbi algorithm does deconvolution of the received
signal and the CIR (there is a good introductory paper titled "How I
learned to love the trellis" by B.Sklar that explains that).

So the answer for Mostafa - gr-gsm uses Viterbi equalizer with
Ungerboeck metric. The metric is described in
G. Ungerboeck, "Adaptive maximum likelihood receiver for carrier
modulated data transmission systems" paper. Another good explanation is
in Bottomley; Chennakeshu "Unification of MLSE receivers and extension
to time-varying channels" paper.

Moreover, some simplifications are applied that are very specific for
MSK (some metric components are constant and can be discarded).

Most impact on the receiver for sure had "GSMsim A MATLAB Implementation
of a GSM Simulation Platform" by Arne Norre Ekstrøm & Jan H. Mikkelsen
(just google the title). There is even Matlab code in it that you can
find here: https://github.com/aholtzma/GSMsim. They used the Viterbi
algorithm with Ungerboeck metric that they simplified. Those
simplifications are used in gr-gsm/lib/receiver/viterbi_detector.cc. The
code there looks strange because those are unrolled loops generated with
a Matlab/Octave script I've written
(https://github.com/asriadi/airprobe/tree/master/viterbi_generator).
Burst synchronization of gr-gsm and channel impulse response estimation
are also taken from GSMsim. The authors made a mistake in the
synchronization part, so it had to be corrected.

In case you still have questions - ask.

Best Regards,
Piotr Krysik

W dniu 26.04.2025 o 04:34, Nikos Balkanas pisze:
> en.wikipedia.org/wiki/Viterbi_decoder <https://en.wikipedia.org/
> wiki/Viterbi_decoder>
>
> HTH
> Nikos
>
> On Sat, Apr 26, 2025 at 12:33 AM Mostafa Alizadeh
> <m.aliz...@gmail.com <mailto:m.aliz...@gmail.com>> wrote:
>
> Hi
>
> I am looking for the reference for the demodulator used in
> the gr-gsm. I need it to explain everything about the GMSK
> Viterbi equalization. It is using the channel in the code. I
> searched a lot for it and I could not find any similar
> approaches in the references.
>
> Best,
> Mostafa
>
> --
> You received this message because you are subscribed to the
> Google Groups "gr-gsm" group.
> To unsubscribe from this group and stop receiving emails
> from it, send an email to gr-
> gsm+uns...@googlegroups.com <mailto:gr-
> gsm+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/
> msgid/gr-gsm/1b537316-3c8a-4466-ab5a-
> c7a9bca73e97n%40googlegroups.com <https://groups.google.com/
> d/msgid/gr-gsm/1b537316-3c8a-4466-ab5a-
> c7a9bca73e97n%40googlegroups.com?
> utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gr-gsm" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> gsm+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gr-gsm/
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com
> <https://groups.google.com/d/msgid/gr-gsm/
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com?
> utm_medium=email&utm_source=footer>.

hon...@gmail.com

unread,
Apr 27, 2025, 12:39:42 PMApr 27
to gr-gsm
Hi Piotr,
Can you elaborate on the symbol timing synchronization method used and particularly the mistake you had to fix. 
Thank you for your support. 

Alex 

Piotr Krysik

unread,
Apr 29, 2025, 2:47:38 AMApr 29
to gr-...@googlegroups.com
Hi,

The symbol synchronization method is based on cross-correlating middle
part of a burst with known training sequence after MSK modulation (all 8
of possible training sequences are defined in 3gpp 05.02 Technical
Specification). Then around the maximum of the cross-correlation
position of window with highest energy is found. The length of the
window is maximal channel response length that we expect (in gr-gsm it's
hardcoded to 5).

The bug in the GSMSim was that it took the channel impulse response from
window with maximum energy but then computed beginning of the burst in
relation to maximum of absolute value of cross-correlation. In Airprobe
I hacked around this by not relying on cross-correlation of burst
midambles for synchronization. I discovered source of the issue and
fixed that later (~end of 2013) and that fixed receiver end up being
gr-gsm's receiver block.

Best Regards,
Piotr Krysik

W dniu 27.04.2025 o 18:39, hon...@gmail.com pisze:
> find here: https://github.com/aholtzma/GSMsim <https://github.com/
> aholtzma/GSMsim>. They used the Viterbi
> algorithm with Ungerboeck metric that they simplified. Those
> simplifications are used in gr-gsm/lib/receiver/viterbi_detector.cc.
> The
> code there looks strange because those are unrolled loops generated
> with
> a Matlab/Octave script I've written
> (https://github.com/asriadi/airprobe/tree/master/viterbi_generator
> <https://github.com/asriadi/airprobe/tree/master/viterbi_generator>).
> > en.wikipedia.org/wiki/Viterbi_decoder <http://en.wikipedia.org/
> wiki/Viterbi_decoder> <https://en.wikipedia.org/ <https://
> en.wikipedia.org/>
> > wiki/Viterbi_decoder>
> >
> > HTH
> > Nikos
> >
> > On Sat, Apr 26, 2025 at 12:33 AM Mostafa Alizadeh
> > <m.aliz...@gmail.com <mailto:m.aliz...@gmail.com>> wrote:
> >
> > Hi
> >
> > I am looking for the reference for the demodulator used in
> > the gr-gsm. I need it to explain everything about the GMSK
> > Viterbi equalization. It is using the channel in the code. I
> > searched a lot for it and I could not find any similar
> > approaches in the references.
> >
> > Best,
> > Mostafa
> >
> > --
> > You received this message because you are subscribed to the
> > Google Groups "gr-gsm" group.
> > To unsubscribe from this group and stop receiving emails
> > from it, send an email to gr-
> > gsm+uns...@googlegroups.com <mailto:gr-
> > gsm+uns...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/
> <https://groups.google.com/d/>
> > msgid/gr-gsm/1b537316-3c8a-4466-ab5a-
> > c7a9bca73e97n%40googlegroups.com <http://40googlegroups.com>
> <https://groups.google.com/ <https://groups.google.com/>
> > d/msgid/gr-gsm/1b537316-3c8a-4466-ab5a-
> > c7a9bca73e97n%40googlegroups.com <http://40googlegroups.com>?
> > utm_medium=email&utm_source=footer>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "gr-gsm" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> > gsm+uns...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> gr-gsm/ <https://groups.google.com/d/msgid/gr-gsm/>
> >
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com>
> > <https://groups.google.com/d/msgid/gr-gsm/ <https://
> groups.google.com/d/msgid/gr-gsm/>
> >
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com>?
> > utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gr-gsm" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> gsm+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gr-
> gsm/23cc45ca-d220-482e-aae2-2ae4f8dfa1ean%40googlegroups.com <https://
> groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e-
> aae2-2ae4f8dfa1ean%40googlegroups.com?utm_medium=email&utm_source=footer>.


--
Piotr Krysik

Mostafa Alizadeh

unread,
Apr 29, 2025, 9:52:32 AMApr 29
to gr-gsm
Hi  Piotr, 

Thanks for explaining the details of your development. I appreciate it a lot. I was working on the demodulator used in gr-gsm and I figured out that is very robust in the mild channel conditions. However, the performance is very limited to the channel lengths up to 5 symbols. If the channel length increases to, let's say, 8 symbols, it is not able to recover the ISI+channel impaired signal. I know that increasing the channel length increases the number of states in the Viterbi by power-2 factors, but there is no other choice if I need the receiver to be far from the base station and inside multiple buildings. This is one problem I am facing. If you could help me before I start reading the references on how to extend the number of states in your demodulator implementation for a channel lengths of 8, I will appreciate it a lot. 

Also, I figured out that the MLSE and channel equalization used in your project is very sensitive to the carrier frequency offset (CFO). Essentially, it is coherent receiver. But I am thinking of if it is possible to make a receiver like gr-gsm demodulator but being non-coherent MLSE similar to the one used in https://musatuncarslan.blogspot.com/2018/08/ where the Matlab code is also provided. Then, it eases the CFO estimation and compensation requirement into some extent. Any idea?  

Best, 
Mostafa 

Piotr Krysik

unread,
Apr 29, 2025, 1:54:56 PMApr 29
to gr-...@googlegroups.com
Hi Mostafa,

Changing the Viterbi algorithm to work with higher number of states is
relatively simple (although it would take me few days to dig this out
and test if it works). This time probably I wouldn't generate unrolled
loop though with Matlab/Octave. Maybe I would just store pre-computed
indexes in arrays.

You can look at GSMSim how they dealt with Viterbi algorithm for
different lengths of channel impulse responses. In Viterbi generator I
avoided complex multiplication while keeping complex signal samples
untouched. It's possible for MSK. Because of that readability might have
suffered.

Another approach is to use de-rotation which is equivalent to frequency
shifting by 1/2 (normalized frequency) - then you can get away by taking
just real part of the de-rotated signal. Osmo-trx uses this method.

Harder part is figuring out how to estimate CIR for lengths higher than
5 symbols. Up to 5 symbols properties of training sequence let you take
just 5 elements of cross correlation as CIR (look at figure 3.3 in
https://www.researchgate.net/profile/Jan-Mikkelsen/publication/2504450_GSMsim_-_A_MATLAB_Implementation_of_a_GSM_Simulation_Platform/links/5ca1ddd645851506d738b6fc/GSMsim-A-MATLAB-Implementation-of-a-GSM-Simulation-Platform.pdf).

Above that you can't use that simple method. Maybe Least Squares result
could be good for that - I don't know.

Regarding using non-coherent reception - as far as I know GSM uses
coherent GMSK modulation. But when I now think about it I'm not 100%
sure if there is no non-coherent method to demodulate it.

P.S. one property that I always found a bit odd about GMSK is that
filtering is applied to signal frequency (or phase) so the result is
non-linear ISI introduced by the modulator. Like the creators had
already frequency modulator ready so they applied the change to its input.

Best Regards,
Piotr Krysik

W dniu 29.04.2025 o 15:52, Mostafa Alizadeh pisze:
> github.com/aholtzma/GSMsim> <https://github.com/ <https://github.com/>
> > aholtzma/GSMsim>. They used the Viterbi
> > algorithm with Ungerboeck metric that they simplified. Those
> > simplifications are used in gr-gsm/lib/receiver/viterbi_detector.cc.
> > The
> > code there looks strange because those are unrolled loops generated
> > with
> > a Matlab/Octave script I've written
> > (https://github.com/asriadi/airprobe/tree/master/
> viterbi_generator <https://github.com/asriadi/airprobe/tree/master/
> viterbi_generator>
> > <https://github.com/asriadi/airprobe/tree/master/
> viterbi_generator <https://github.com/asriadi/airprobe/tree/master/
> wiki/Viterbi_decoder> <http://en.wikipedia.org/ <http://
> en.wikipedia.org/>
> > wiki/Viterbi_decoder> <https://en.wikipedia.org/ <https://
> en.wikipedia.org/> <https://
> > en.wikipedia.org/ <http://en.wikipedia.org/>>
> <http://40googlegroups.com <http://40googlegroups.com>>
> <http://40googlegroups.com <http://40googlegroups.com>>?
> > > utm_medium=email&utm_source=footer>.
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "gr-gsm" group.
> > > To unsubscribe from this group and stop receiving emails from it,
> > send
> > > an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> > > gsm+uns...@googlegroups.com>.
> > > To view this discussion visit https://groups.google.com/d/
> msgid/ <https://groups.google.com/d/msgid/>
> > gr-gsm/ <https://groups.google.com/d/msgid/gr-gsm/ <https://
> groups.google.com/d/msgid/gr-gsm/>>
> > >
> >
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>>
> > > <https://groups.google.com/d/msgid/gr-gsm/ <https://
> groups.google.com/d/msgid/gr-gsm/> <https://
> > groups.google.com/d/msgid/gr-gsm/ <http://groups.google.com/d/
> msgid/gr-gsm/>>
> > >
> >
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>>?
> > > utm_medium=email&utm_source=footer>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "gr-gsm" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> > gsm+uns...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> gr- <https://groups.google.com/d/msgid/gr->
> > gsm/23cc45ca-d220-482e-aae2-2ae4f8dfa1ean%40googlegroups.com
> <http://40googlegroups.com> <https://
> > groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e- <http://
> groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e->
> > aae2-2ae4f8dfa1ean%40googlegroups.com?
> utm_medium=email&utm_source=footer <http://40googlegroups.com?
> utm_medium=email&utm_source=footer>>.
>
>
> --
> Piotr Krysik
>
> --
> You received this message because you are subscribed to the Google
> Groups "gr-gsm" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> gsm+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gr-gsm/
> fa349c92-f804-41ca-a4b2-2e3b964a5f91n%40googlegroups.com <https://
> groups.google.com/d/msgid/gr-gsm/fa349c92-f804-41ca-
> a4b2-2e3b964a5f91n%40googlegroups.com?utm_medium=email&utm_source=footer>.


--
Piotr Krysik

Mostafa Alizadeh

unread,
Apr 30, 2025, 10:17:18 AMApr 30
to gr-gsm
Hi piotr 

You are right the limit for the channel estimation using the training sequence convolution and its property of having zero correlation for |n|<=5. This is interesting. However, the LSE you said should work as it removes the non-zero terms of the training sequence correlation terms. This is the result of matrix inversion in there. Anyway. I did not know that I could extend GSMSim. If you help me in extending the demodulator for channel length 8, it will be great. Otherwise, I should plan for it. 

You can try the reference Matlab code I shared before. use GMSK_MLSD_fast_test.m file in there and see that there are phase and frequency shifts at the receiver and the demodulator is robust against them. There is a maximum for the frequency shifting before which the demodulator works fine. But there is no limit on the phase shift. Anyway. The demodulator you used is also robust in the phase shift. But it is sensitive to the frequency shifting. If a non-coherent receiver with your approach could be used, there will no need for frequency offset estimation and compensation for the moderate frequency shifts. So, the receiver will be much simpler. 

Best, 
Mostafa 

Piotr Krysik

unread,
May 1, 2025, 8:16:04 AMMay 1
to gr-...@googlegroups.com
Hi Mostafa,

I've found the referenced file here:
https://www.mathworks.com/matlabcentral/fileexchange/68444-maximum-likelihood-sequence-detection-for-gmsk

I don't have time currently to adapt and test it on GSM.

Another way could be probably improvement of gr-gsm's frequency offset
estimation and correction. The estimation is done using very
computation, that takes to computation signal of frequency correction
burst with all of the noise. Also the changes might be applied too
often/too fast in the frequency offset correction loop resulting with
instability.

I think I would rather do that than change to another algorithm - if the
other algorithm doesn't bring significant benefit in terms of lowering
CPU load.

Regarding extension of GSMSim - I don't have time for it as well, but
you can see what is done in the GSMSim code depending on CIR length and
were it leads to.

Best Regards,
Piotr Krysik

W dniu 30.04.2025 o 16:17, Mostafa Alizadeh pisze:
> GSM-Simulation-Platform.pdf <https://www.researchgate.net/profile/
> Jan-Mikkelsen/publication/2504450_GSMsim_-
> _A_MATLAB_Implementation_of_a_GSM_Simulation_Platform/
> links/5ca1ddd645851506d738b6fc/GSMsim-A-MATLAB-Implementation-of-a-
> GSM-Simulation-Platform.pdf>).
> > musatuncarslan.blogspot.com/2018/08/ <http://
> > github.com/aholtzma/GSMsim <http://github.com/aholtzma/GSMsim>>
> <https://github.com/ <https://github.com/> <https://github.com/
> <https://github.com/>>
> > > aholtzma/GSMsim>. They used the Viterbi
> > > algorithm with Ungerboeck metric that they simplified. Those
> > > simplifications are used in gr-gsm/lib/receiver/
> viterbi_detector.cc.
> > > The
> > > code there looks strange because those are unrolled loops
> generated
> > > with
> > > a Matlab/Octave script I've written
> > > (https://github.com/asriadi/airprobe/tree/master/ <https://
> github.com/asriadi/airprobe/tree/master/>
> > viterbi_generator <https://github.com/asriadi/airprobe/tree/
> master/ <https://github.com/asriadi/airprobe/tree/master/>
> > viterbi_generator>
> > > <https://github.com/asriadi/airprobe/tree/master/ <https://
> github.com/asriadi/airprobe/tree/master/>
> > viterbi_generator <https://github.com/asriadi/airprobe/tree/
> master/ <https://github.com/asriadi/airprobe/tree/master/>
> en.wikipedia.org/> <http://
> > en.wikipedia.org/ <http://en.wikipedia.org/>>
> > > wiki/Viterbi_decoder> <https://en.wikipedia.org/ <https://
> en.wikipedia.org/> <https://
> > en.wikipedia.org/ <http://en.wikipedia.org/>> <https://
> > > en.wikipedia.org/ <http://en.wikipedia.org/> <http://
> en.wikipedia.org/ <http://en.wikipedia.org/>>>
> > > > wiki/Viterbi_decoder>
> > > >
> > msgid/ <https://groups.google.com/d/msgid/ <https://
> groups.google.com/d/msgid/>>
> > > gr-gsm/ <https://groups.google.com/d/msgid/gr-gsm/ <https://
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>> <http://40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>>>
> msgid/gr-gsm/> <http://groups.google.com/d/ <http://
> groups.google.com/d/>
> > msgid/gr-gsm/>>
> > > >
> > >
> >
> CAAxXO2H2MXCygfjS73xaQOpcBSMyjSVfadV%3DdhhwVTk0bP9JZw%40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>> <http://40mail.gmail.com <http://40mail.gmail.com> <http://40mail.gmail.com <http://40mail.gmail.com>>>?
> > > > utm_medium=email&utm_source=footer>.
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "gr-gsm" group.
> > > To unsubscribe from this group and stop receiving emails from it,
> > send
> > > an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> > > gsm+uns...@googlegroups.com>.
> > > To view this discussion visit https://groups.google.com/d/
> msgid/ <https://groups.google.com/d/msgid/>
> > gr- <https://groups.google.com/d/msgid/gr- <https://
> groups.google.com/d/msgid/gr->>
> > > gsm/23cc45ca-d220-482e-aae2-2ae4f8dfa1ean%40googlegroups.com
> <http://40googlegroups.com>
> > <http://40googlegroups.com <http://40googlegroups.com>> <https://
> > > groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e- <http://
> groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e-> <http://
> > groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e- <http://
> groups.google.com/d/msgid/gr-gsm/23cc45ca-d220-482e->>
> > > aae2-2ae4f8dfa1ean%40googlegroups.com <http://40googlegroups.com>?
> > utm_medium=email&utm_source=footer <http://40googlegroups.com
> <http://40googlegroups.com>?
> > utm_medium=email&utm_source=footer>>.
> >
> >
> > --
> > Piotr Krysik
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "gr-gsm" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> > gsm+uns...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> gr-gsm/ <https://groups.google.com/d/msgid/gr-gsm/>
> > fa349c92-f804-41ca-a4b2-2e3b964a5f91n%40googlegroups.com
> <http://40googlegroups.com> <https://
> > groups.google.com/d/msgid/gr-gsm/fa349c92-f804-41ca- <http://
> groups.google.com/d/msgid/gr-gsm/fa349c92-f804-41ca->
> > a4b2-2e3b964a5f91n%40googlegroups.com?
> utm_medium=email&utm_source=footer <http://40googlegroups.com?
> utm_medium=email&utm_source=footer>>.
>
>
> --
> Piotr Krysik
>
> --
> You received this message because you are subscribed to the Google
> Groups "gr-gsm" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gr-gsm+un...@googlegroups.com <mailto:gr-
> gsm+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gr-
> gsm/623d9c60-c24b-42f8-b2ba-2ec6a0326a61n%40googlegroups.com <https://
> groups.google.com/d/msgid/gr-gsm/623d9c60-c24b-42f8-
> b2ba-2ec6a0326a61n%40googlegroups.com?utm_medium=email&utm_source=footer>.


--
Piotr Krysik

Mostafa Alizadeh

unread,
May 2, 2025, 9:01:32 PMMay 2
to Piotr Krysik, gr-...@googlegroups.com

Thank you very much.


To unsubscribe from this group and stop receiving emails from it, send an email to gr-gsm+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gr-gsm/8d7846cc-dcf3-43bc-b19d-7dd206fd2aeb%40gmail.com.
Reply all
Reply to author
Forward
0 new messages